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