UISearchBar 的 placeholder 居左展示

0.备注:

本文是参考网上其他文章写的,权作学习记录.

1.新建一个 UISearchBar 的分类

UISearchBar+DJSearchBarPlaceholder

2.代码部分
.h 文件内:

#import <UIKit/UIKit.h>

@interface UISearchBar (DJSearchBarPlaceholder)

-(void)changePlaceholderToLeft:(NSString *)placeholder;

@end

.m 文件内:

#import "UISearchBar+DJSearchBarPlaceholder.h"

@implementation UISearchBar (DJSearchBarPlaceholder)

-(void)changePlaceholderToLeft:(NSString *)placeholder {
    self.placeholder = placeholder;
    SEL centerSelector = NSSelectorFromString([NSString stringWithFormat:@"%@%@", @"setCenter", @"Placeholder:"]);
    if ([self respondsToSelector:centerSelector]) {
        BOOL centeredPlaceholder = NO;
        NSMethodSignature *signature = [[UISearchBar class] instanceMethodSignatureForSelector:centerSelector];
        NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature];
        [invocation setTarget:self];
        [invocation setSelector:centerSelector];
        [invocation setArgument:&centeredPlaceholder atIndex:2];
        [invocation invoke];
    }
}

@end

3.使用

初始化 UISearchBar 对象并调用分类里的对象方法设置 placeholder 即可.

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 157,586评论 24 688
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 121,010评论 16 134
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 7,106评论 4 39
  • 截至今日,大概有四天没有动笔了,不知道该写什么了。用郭德纲老师的话说:脑子里就是一碗卤煮!于是就松懈了,心想着先...
    花开满月楼阅读 167评论 2 2
  • 就在刚才,女儿和她的小玩伴,偷偷在家里点了三根香,插在神龛上,然后一起许了个三个愿。完事后,把我拉了出来,说爸爸你...
    一朵致远阅读 154评论 2 2