我正在爲iPhone製作應用程序,而我想要做的一部分是,只要用戶觸摸某個位置(讓我們說一個圓圈),應用程序就應該做出反應並做一些事情。iPhone SDK:與圖片互動
如何將一個點標記爲按鈕?還是有不同的方式來做到這一點?我有一個UIImageView子視圖的UIScrollView。
在此先感謝!
蓋伊
我正在爲iPhone製作應用程序,而我想要做的一部分是,只要用戶觸摸某個位置(讓我們說一個圓圈),應用程序就應該做出反應並做一些事情。iPhone SDK:與圖片互動
如何將一個點標記爲按鈕?還是有不同的方式來做到這一點?我有一個UIImageView子視圖的UIScrollView。
在此先感謝!
蓋伊
你可以學習如何處理來自Touches樣品接觸。
特別是,處理簡單的觸摸發生在UIResponder
類的實例中。由於UIView
繼承自UIResponder
,所以任何視圖都能夠響應觸摸消息。因此,爲了處理觸摸,您只需創建一個繼承自特定視圖的類(您的案例中的UIScrollView
)並覆蓋您感興趣的觸摸發明;更具體地說,對於您的場景,您需要處理touchesEnded:withEvent:
。
最簡單的方法是在UIScrollView上添加一些透明的UIButton實例,設置動作並在每個按鈕中執行一些操作。
例如,
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch
...
UIButton* someButton = [[[UIButton alloc] initWithFrame:CGRectMake(100.0f, 100.0f, 100.0f, 100.0f)] autorelease];
[someButton addTarget:self action:@selector(doSomething) forControlEvents:UIControlEventTouchDown];
[someUIScrollView addSubview:someButton];
...
}
- (void)doSomething {
NSLog(@"Do something");
}
你應該寫一些代碼來判斷觸摸點是否是內部或沒有,如果你想創建非矩形光斑(如圓圈)。但考慮到手指大小和用戶的認可度,我認爲你不必執行嚴格的判斷。
感謝您的幫助,但UITouch正在努力:) – user381686 2010-07-02 04:55:35