gpt4 book ai didi

ios - SearchBar Reference中如何访问imageview、label等 View ?

转载 作者:行者123 更新时间:2023-12-01 19:54:46 25 4
gpt4 key购买 nike

我正在尝试使用如下声明的 SearchBar 引用自定义 SearchBar

@property (weak, nonatomic) IBOutlet UISearchBar *searchRef;

然后,我尝试访问 UIImage Reference 和 UISearchBarTextFieldLabel,如图所示

This is the picture

我正在使用以下代码打印 subview 的引用
NSLog(@"%@",self.searchRef.subviews[0].subviews[1].subviews);

但没有得到预期的结果。我想要 UIImage ref 以及 UISearchBarTextFieldLabel。我怎样才能做到这一点?

最佳答案

如果您有对文本字段的引用,则可以将其转换为 UITextField然后访问它的leftViewrightView特性。通常,leftView是放大镜UIImageView .

UITextField *textField = (UITextField *)self.searchRef.subviews[0].subviews[1];

// Change the search image.
if ([textField.leftView isKindOfClass:[UIImageView class]]) {

UIImageView *searchImageView = (UIImageView *)textField.leftView;

// Do something with the image view here...
}

作为旁注,不建议假设 UISearchBar's View 将始终以这种方式布置。例如,Apple 将来可能会决定更改 View 层次结构,这可能会导致您的代码失败或完全崩溃。

如果你必须这样做,递归搜索每个 View 的 subview 直到你找到你要找的东西会更安全,而不是硬编码数组索引。

关于ios - SearchBar Reference中如何访问imageview、label等 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43365885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com