在新的iOS 13中,尝试使用以下方法更改UISearchBar textField属性时发生崩溃 valueForKey:@"_searchField"
现在看来,苹果已经改变了一些东西。
我已经使用以下自定义方法创建了UIView的子类,现在看来可以了!
- (UIView *)findSubview:(NSString *)name resursion:(BOOL)resursion
{
Class class = NSClassFromString(name);
for (UIView *subview in self.subviews) {
if ([subview isKindOfClass:class]) {
return subview;
}
}
if (resursion) {
for (UIView *subview in self.subviews) {
UIView *tempView = [subview findSubview:name resursion:resursion];
if (tempView) {
return tempView;
}
}
}
return nil;
}
Run Code Online (Sandbox Code Playgroud)
您可以简单地以这种方式调用此方法来更改UITextField属性:
UITextField *textField = (UITextField*)[self findSubview:@"UITextField" resursion:YES];
Run Code Online (Sandbox Code Playgroud)
显然,这是一个Objective-c片段,如果有人知道如何快速编写相同的代码,则可以将其添加到答案中。
编码愉快!
我正在使用这段代码调整我的自定义UIToolbar的大小以更改width属性
[UIView animateWithDuration:0.3 delay:0.3 options:0 animations:^{
self.navToolbar.frame=CGRectMake(0, 0, 200, 30);
} completion:nil];
Run Code Online (Sandbox Code Playgroud)
上面的代码,正确改变宽度,但没有动画,任何人都可以告诉我为什么?
谢谢