How to check if subview is button or not
我正在开发一个应用程序。在那里我得到了 UITableViewCell.
的所有子视图
这个的代码是:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | (void)listSubviewsOfView:(UIView *)view { // Get the subviews of the view // Return if there are no subviews for (UIView *subview in subviews) { NSLog(@"%@", subview); // List the subviews of subview |
但我的问题是如何从该子视图列表中找出按钮。请告诉我如何解决这个问题。
你可以像这样遍历所有的子视图。
1 2 3 4 5 | for (id subview in subviews) { if ([subview isKindOfClass:[UIButton class]]) { //do your code } } |
斯威夫特
1 2 3 4 5 | for subview in view.subviews { if subview is UIButton { // this is a button } } |
检查子视图是否为带有
使用 is-
1 2 3 4 5 | for subview in self.view.subviews{ if subview is UIButton{ //do whatever you want } } |
使用 isMember(of:)-
1 2 3 4 5 | for subview in self.view.subviews{ if subview.isMember(of: UIButton.self){ //do whatever you want } } |
使用 isKind(of:)-
1 2 3 4 5 | for subview in self.view.subviews{ if subview.isKind(of: UIButton.self){ //do whatever you want } } |
扩展 Martin 的回答中的”做你的代码”部分。获得子视图后,我想测试它是否是正确的按钮,然后将其删除。我无法使用 subview.titleLabel 直接检查按钮的 titleLabel 所以我将子视图分配给 UIButton 然后检查按钮的 titleLabel.
1 2 3 4 5 6 7 8 9 10 | – (void)removeCheckboxes { for ( id subview in self.parentView.subviews ) { } |
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/268717.html