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 即可.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容