2012-09-16 35 views
1

我想創建一個4x4的正方形網格(每個正方形由一些空格分隔)。當用戶將他的手指從一個正方形平移到另一個正方形時,我想突出顯示正方形並在正方形之間畫線(以顯示它們已連接)。關於UIView佈局的建議

我已經創建了一個GridView自定義UIView和16個子GridElement自定義UIViews佈局爲4x4,我想使用平移手勢來選擇正方形和drawline。這是正確的方式嗎?

感謝您的回覆。所以我嘗試了你的建議。現在,我已經制作了UIControl的各個網格正方形子類,並且包含的​​視圖是其操作的目標。我包含的視圖是UIView的一個子類。含視圖接收UIControlEventTouchDown事件,但沒有收到UIControlEventTouchDragExit或(回車)

- (void) sendAction:(SEL)action to:(id)target forEvent:(UIEvent *)event { 
    [super sendAction:action to:target forEvent:event]; 
} 

- (void) sendActionsForControlEvents:(UIControlEvents)controlEvents { 
    [super sendActionsForControlEvents:controlEvents]; 
} 

- (BOOL) beginTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event { 
    return YES; 
} 

- (BOOL) continueTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event { 
    return YES; 
} 

在我ContainerView我有

[gridElement addTarget:self action:@selector(elementSelected:)forControlEvents:UIControlEventTouchDragEnter]; 
+0

你檢查了新的UICollectionViewController文檔嗎? – Jamie

+0

當然,它仍處於測試階段,直到19日,因此您需要開發者許可才能訪問此信息。 – Jamie

+0

@Jamie只會幫助(簡單)網格部分,而不是(更難)交互部分。 – jrturton

回答

2

這樣只會選取第一方陣,一旦手指已經移動到可以考慮一個平底鍋 - 你可能需要添加另一個識別器來接觸第一次觸摸。

如果我這樣做,我會採取不同的方式。你可以使你的個人網格UIControl子類,並使你的包含視圖的行動目標。 UIControls已經對事件做出了響應,例如觸摸內部,觸摸拖動,內部觸摸等,您可以將這些事件傳遞給包含視圖,並在用戶移動手指時適當突出顯示/繪製線條。

+0

請參閱下面我的進一步問題 –