Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何检查组件是UIView还是UIImageView_Iphone_Uiview - Fatal编程技术网

Iphone 如何检查组件是UIView还是UIImageView

Iphone 如何检查组件是UIView还是UIImageView,iphone,uiview,Iphone,Uiview,嗨,在我的应用程序中,我有一个数组。因为我有很多UIView和UIImageView组件,我想从该数组中获取每个组件,并且必须知道是imageview还是view,如果是imageview,我必须更改该imageview的图像。但是我不知道如何知道该组件是imageview还是view。如果有人知道,请让我知道如何识别组件类型。请帮我解决这个问题 for (int i=0; i<[array count]; i++){ // here i have to know wether th

嗨,在我的应用程序中,我有一个数组。因为我有很多UIView和UIImageView组件,我想从该数组中获取每个组件,并且必须知道是imageview还是view,如果是imageview,我必须更改该imageview的图像。但是我不知道如何知道该组件是imageview还是view。如果有人知道,请让我知道如何识别组件类型。请帮我解决这个问题

for (int i=0; i<[array count]; i++){
   // here i have to know wether the component is imageview or view and based on that i have to do below operations 
   UIView *view1=[array objectAtIndex:i];
   NSLog(@"%@",[array objectAtIndex:i]);
   if (130==view1.tag){
       view1.backgroundColor=[UIColor redColor];
    }
    UIImageView *image1=[array objectAtIndex:i];
    if (132==image1.tag){
       image1.image=[UIImage imageNamed:@"Approve2.png"];
    }
}

for(inti=0;i您可以通过类内省进行检查

试试这个

if( [obj1 class] == [obj2 class] ){

   //same class
}

一些你觉得方便的额外东西


你可以通过课堂反思来检查

试试这个

if( [obj1 class] == [obj2 class] ){

   //same class
}

一些你觉得方便的额外东西


使用
isKindOfClass

例如:

if ( [originalValue isKindOfClass:[UIImageView class]] ){

   UIImageView *myImageView = (UIImageView *)originalValue;

}

使用
isKindOfClass

例如:

if ( [originalValue isKindOfClass:[UIImageView class]] ){

   UIImageView *myImageView = (UIImageView *)originalValue;

}

谢谢你的回复anoop先生,非常感谢。@user2119204更多的东西可能会对你有用。嗨anoop非常感谢你的回复。你能提供一个例子来说明这个过程吗,比如你能比较uiview和uiimageview。这将对我有很大帮助。@user2119204:我想你已经解决了你的问题,因为你已经接受了Ram的答案?比ks谢谢你的回复anoop先生,非常感谢。@user2119204更多的东西可能会对你有用。Hi anoop非常感谢你的回复。你能为这个过程提供一个例子,比如你能比较uiview和uiimageview吗。这将对我有很大帮助。@user2119204:我想你已经解决了你的问题,因为你已经接受了Ram的答案。Hi Ram thanks很多你的快速回复让我免于麻烦…非常感谢ram…Hi可以帮助我更多基于你的建议我已经更改了我的代码,因此我再次需要你的帮助。现在UIimageview也被编译器视为UIview类。请让我知道为什么会发生。不要责怪编译器。它会做得很好。检查你的code well.:)和另一种方法如果([originalValue是类的种类:[UIView类]]){UIView*myView=(UIView*)originalValue;}你好,非常感谢你的快速回复,省去了我的麻烦。。。非常感谢ram…Hi可以根据你的建议帮我更多的忙,我已经更改了我的代码,因为我再次需要你的帮助。现在UIimageview也被编译器视为UIview类。请让我知道它发生的原因。不要责怪编译器。它会做得很好。。检查您的代码:)如果([originalValue isKindOfClass:[UIView类]]){UIView*myView=(UIView*)originalValue;}