- (int)indexOfView:(id)view {
for(int i = 0; i < self.subviews.count; ++i) {
UIView *v = [self.subviews objectAtIndex:i];
if(v == view) return i;
}
return -1;
}
這總是返回-1。我懷疑問題是與v == view
。那是不正確的?視圖的邏輯比較
- (int)indexOfView:(id)view {
for(int i = 0; i < self.subviews.count; ++i) {
UIView *v = [self.subviews objectAtIndex:i];
if(v == view) return i;
}
return -1;
}
這總是返回-1。我懷疑問題是與v == view
。那是不正確的?視圖的邏輯比較
如果它總是返回-1,那麼它不在那裏。
但是,你應該扔掉的幾行代碼:
[self.subviews indexOfObject:view]
NSArray其方法是你的朋友。方法indexOfObject:
將返回NSNotFound
而不是-1。
如果它是包含視圖之一的子類,那麼它將不會顯示出來。特別是如果你正在處理NSTableViewCell
。
它看起來沒問題。我猜'view'確實不是'self'的子視圖。 – smparkes