2010-09-11 51 views
0

我創建了三個UIImageView。然後我爲每個圖像添加一個UITextField作爲子視圖。從UITextField獲取對superview的引用?

當用戶點擊文本字段時,我想捕獲哪個UIImageView文本字段屬於。我正在嘗試以下代碼:

-(void)textFieldDidBeginEditing : (UITextField *)textField { 


textField = retainedObject; 

MyPicture *capture = nil; 

for (UIImageView *oneView in retainedObject.superview) { 

    if ([oneView isMemberOfClass:[myPicture class]]) 
    capture = (UIImageView *)oneView; 

} 

但是,我得到一個錯誤,UIView可能無法通過枚舉進行計數響應。它看起來像文本字段的超視圖是UIView而不是UIImageView?有人可以幫助解決這個問題嗎?

感謝,

馬丁

回答

1

一個UIViewsuperView被假定爲UIView。但是,您仍然可以將其投射爲UIImageView,並且可以調用UIImageView方法,但只要確保它始終爲UIImageView,否則將會崩潰。

來源:我自己的應用程序;)

+0

謝謝 - 但我很迷惑你的意思是投到ImageView。 UITextField的超級視圖已經是一個UIImageView? – GuybrushThreepwood 2010-09-11 11:42:49

+0

只需添加'UIImageView * superImageView =(UIImageView *)[retainedObject superview];',然後您就可以輕鬆地調用對象的所有'UIImageView'函數。 – jrtc27 2010-09-11 11:48:22

+0

再次感謝 - 感謝您的幫助。我現在得到一個錯誤,UITextField(這裏retainObject)可能不響應superView? – GuybrushThreepwood 2010-09-11 13:15:34