我有某種圖像滑塊顯示一些促銷圖像('促銷)。我用了我在這附近找到的一個片段。它通過使用帶有框架的UIImageView填充scrollView並使用UIScrollViewDelegate方法和PageControl方法向左和向右移動來工作。這是代碼的一部分設置頁面:UIImageView鏈接到網址時點擊
-(void)setupPage{
[scrollView setDelegate:self];
[self.scrollView setBackgroundColor:[UIColor blackColor]];
[scrollView setCanCancelContentTouches:NO];
scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
scrollView.clipsToBounds = YES;
scrollView.scrollEnabled = YES;
scrollView.pagingEnabled = YES;
//cargar fotos
CGFloat cx = 0;
for (id row in promosArray) {
NSLog(@"imagen %@", [row url]);
UIImage *image = [row foto];
//image = [image imageRotatedByDegrees:90.0f];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
CGRect rect = imageView.frame;
rect.size.height = image.size.height;
rect.size.width = image.size.width;
rect.origin.x = ((scrollView.frame.size.width - image.size.width)/2) + cx;
rect.origin.y = ((scrollView.frame.size.height - image.size.height)/2);
imageView.frame = rect;
[imageView setUserInteractionEnabled:YES];
[scrollView addSubview:imageView];
cx += scrollView.frame.size.width;
}
self.pageControl.numberOfPages = [promosArray count];
[scrollView setContentSize:CGSizeMake(cx, [scrollView bounds].size.height)];
[cargando setHidden:YES];
[scrollView setHidden:NO];
[pageControl setHidden:NO];
}
我從promosArray的信息,至極爲promo
類型的對象與此頭陣列
@interface Promo : NSObject
@property (strong, nonatomic) UIImage *foto;
@property (strong, nonatomic) NSURL *url;
-(id) initWithUIImage: (UIImage *) f andNSURL: (NSURL *) u;
@end
所以促銷只是一個對象,用於保存它應該顯示的UIImage以及它在點擊時鏈接到的URL。
所以我的問題是如何使UIImages,當'摸進去'打開一個Safari瀏覽器窗口與相應的URL? 我試圖添加一個按鈕與一個子視圖相同的框架,我只有1個按鈕(或他們都在同一個地方)
這個想法使我最複雜的是鏈接每個按鈕與它的通訊網址。
謝謝!
我正在考慮從UIImageView繼承。 UITapGestureRecognizer的一部分是困擾我的東西。因爲觸摸是一件很好的事情,所以我永遠無法像UIButton那樣處理水龍頭。 (有人在類似主題的評論中這樣說)這就是爲什麼我認爲我寧願有一個imageView和一個按鈕。 – Daniel 2012-03-08 19:59:00
您應該可以使用UIGestureRecognizerState UIGestureRecognizerStateEnded獲得觸感。您可以決定從UIView中獲得更復雜一點的子類,這將橋接圖像創建併爲您創建一個UIbutton(UIView是將其圖像和按鈕保存在其邊界內的父類)。同上,但現在有一個按鈕和一些工作。絕對值得考慮保持邏輯封裝。 – Sandoze 2012-03-08 20:05:57
最後結束了使用UITapGestureRecognizer。我在使用兩個框架時遇到了問題,我正在「移動」錯誤的框架,這就是按鈕無法使用的原因。感謝您的幫助! – Daniel 2012-03-09 01:15:26