ios - UISearchBar 自定义类和外观
<p><p>我是 iOS 开发的新手,我需要自定义 UISearchBar 外观方面的帮助。</p>
<p>这就是我想要做的事情</p>
<p> <a href="/image/RZjh7.png" rel="noreferrer noopener nofollow"><img src="/image/RZjh7.png" alt="enter image description here"/></a> </p>
<p>首先,如何摆脱周围的灰色条,然后如何更改白色文本字段的背景。</p>
<p>另外,我创建了一个扩展 UISearchBar 并将其应用于搜索栏的新类,但我不知道调用哪个方法来初始化它,比如</p>
<pre><code>- (void) viewDidLoad {}
</code></pre>
<p>在 ViewController 类中。在 UISearchBar 类中放置我的自定义代码的位置。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>这是一个包含一些选项的搜索栏,更改其中一些值以根据需要调整它,如果你愿意,可以像模板一样使用它:</p>
<pre><code> UISearchBar * _searchBar = [ init];
;
;
;
;
;
];
];
.CGColor];
;
];
];
[, nil] setDefaultTextAttributes:@{
NSFontAttributeName:fontMagicForRegularNSHFont,
NSForegroundColorAttributeName:
}];
[, nil] setTitleTextAttributes:@{
NSForegroundColorAttributeName:
} forState:UIControlStateNormal];
[ setSearchFieldBackgroundImage: forState:UIControlStateNormal];
UIImage* image = ;
[, nil] setBounds:CGRectMake(0, 0, image.size.width, image.size.height)];
[ setImage: forSearchBarIcon:UISearchBarIconClear state:UIControlStateNormal];
[ setImage: forSearchBarIcon:UISearchBarIconClear state:UIControlStateHighlighted];
[ setImage: forSearchBarIcon:UISearchBarIconSearch state:UIControlStateNormal];
[ setImage: forSearchBarIcon:UISearchBarIconSearch state:UIControlStateHighlighted];
</code></pre>
<p>这是第二个问题的答案:</p>
<pre><code> [, nil] setBackgroundColor:];
</code></pre>
<p>不要遍历 subview ,这是一种无知的方法,当 Apple 自由地让您使用他们的 API 来使用 UIKit 更改 UITextField 的背景颜色时。您会在堆栈上看到大多数类似事情的答案都声称使用通过 subview 的迭代,但这些都是失败的答案,也是 StackOverflow 充满无用垃圾的另一个原因。</p>
<p>另外,这里来自 Apple Docs,实际上来自 UIAppearance.h 的头文件</p>
<p>/* 要自定义包含在容器类实例中的类实例或层次结构中的实例的外观,请使用 +appearanceWhenContainedIn: 作为适当的外观代理。例如:</p>
<pre><code> [, nil] setBarTintColor:myColor];
[, , nil] setBarTintColor:myTabbedNavBarColor];
</code></pre>
<p>*/</p>
<p>希望这会有所帮助,事实上,它会有所帮助,如果您按照上面的说明操作,您将不必再担心自定义,一切都会变得 super 简单。祝你好运!</p>
<p>要点行动:</p>
<p> <a href="https://gist.github.com/anonymous/b38bfd23130981d02bca" rel="noreferrer noopener nofollow">https://gist.github.com/anonymous/b38bfd23130981d02bca</a> </p>
<p> <a href="https://gist.github.com/anonymous/2358875a896895df3e5b" rel="noreferrer noopener nofollow">https://gist.github.com/anonymous/2358875a896895df3e5b</a> </p>
<p>要使用这样的子类,你必须创建一个没有 StoryBaord 的 UIViewController,然后这样做:</p>
<p>CCCUSTHomeViewController.m</p>
<pre><code>#import "EXAMPSubViewWithSearchBar.h"
#import "CCCUSTHomeViewController.h"
@interface CCCUSTHomeViewController ()
@end
@implementation CCCUSTHomeViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = ;
if (self)
{
}
return self;
}
-(void)loadView
{
];
}
-(EXAMPSubViewWithSearchBar*)contentView
{
return (id);
}
@end
</code></pre>
<p>然后是 UIViewController 的标题:</p>
<pre><code>#import <UIKit/UIKit.h>
@interface CCCUSTHomeViewController : UIViewController
@end
</code></pre></p>
<p style="font-size: 20px;">关于ios - UISearchBar 自定义类和外观,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/31879496/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/31879496/
</a>
</p>
页:
[1]