返回信息流xcode如何用imageview,pagecontrol,scrollview三个控件实现图片浏览功能?
感激涕零啊 刚看了三天objective-c被安排了一个活 大牛们求指导
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #5238同步于 2011/12/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖
求助:iphone开发 实现图片浏览功能
xiaoyu513
2011/12/27镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
在xib中把scrollview设置为page enable。
viewController头文件
#import <UIKit/UIKit.h>
@interface ManualViewController : UIViewController <UIScrollViewDelegate>
{
BOOL pageControlBeingUsed;
}
@property (nonatomic,retain) IBOutlet UIScrollView *scrollView;
@property (nonatomic, retain) IBOutlet UIPageControl* pageControl;
- (IBAction)changePage;
@end
viewcontroller实现文件:
@implementation ManualViewController
@synthesize scrollView,pageControl;
//为pageControl的Value change添加事件,根据pageControl的变化改变scrollView的页面
- (IBAction)changePage
{
// update the scroll view to the appropriate page
CGRect frame;
frame.origin.x = self.scrollView.frame.size.width * self.pageControl.currentPage;
frame.origin.y = 0;
frame.size = self.scrollView.frame.size;
[self.scrollView scrollRectToVisible:frame animated:YES];
pageControlBeingUsed=YES;
}
//scrollView的delegate方法
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
pageControlBeingUsed = NO;
}
//scrollView的delegate方法
- (void)scrollViewDidScroll:(UIScrollView *)sender
{
if (pageControlBeingUsed)
{
return;
}
// Update the page when more than 50% of the previous/next page is visible
CGFloat pageWidth = self.scrollView.frame.size.width;
int page = floor((self.scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
self.pageControl.currentPage = page;
}
//scrollView的delegate方法
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
pageControlBeingUsed = NO;
}
- (void)viewDidLoad
{
[super viewDidLoad];
//array里面存放的是图片名字
NSArray *array=[[NSArray alloc] initWithObjects:NSLocalizedString(@"Manual_1", nil),NSLocalizedString(@"Manual_2", nil),NSLocalizedString(@"Manual_3", nil),NSLocalizedString(@"Manual_4", nil),NSLocalizedString(@"Manual_5", nil),NSLocalizedString(@"Manual_6", nil), nil];
//初始化scrollView,我这里6张图片
for (int i = 0; i < 6; i++)
{
CGRect frame;
frame.origin.x = self.scrollView.frame.size.width * i;
frame.origin.y = 0;
frame.size = self.scrollView.frame.size;
//每页一个imageView
UIImageView *bgImageView=[[UIImageView alloc] initWithFrame:frame];
//[bgImageView setImage:[UIImage imageNamed:[array objectAtIndex:i]]];
[bgImageView setImage:[UIImageHelper newImageNotCached:[array objectAtIndex:i]]];
[self.scrollView addSubview:bgImageView];
}
array=nil;
self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width*6, self.scrollView.frame.size.height);
pageControlBeingUsed=NO;
}
你说的那个功能,你代码几乎照抄就能实现,然后把viewDidLoad函数里面的array中放上你的图片名字,NSString就行,把之后的循环数目改成你的图片数目就行了。
【 在 xiaoyu513 的大作中提到: 】
: xcode如何用imageview,pagecontrol,scrollview三个控件实现图片浏览功能?
: 感激涕零啊 刚看了三天objective-c被安排了一个活 大牛们求指导
: --
: ...................
要么你领导把你当天才用 要么他自己就是个二缺
【 在 xiaoyu513 的大作中提到: 】
: xcode如何用imageview,pagecontrol,scrollview三个控件实现图片浏览功能?
: 感激涕零啊 刚看了三天objective-c被安排了一个活 大牛们求指导
: --
: ...................
呵呵,这话经典……
【 在 AlexRezit 的大作中提到: 】
:
: 要么你领导把你当天才用 要么他自己就是个二缺
: 【 在 xiaoyu513 的大作中提到: 】
: ...................
见过有C基础 培训过五个月的写出来的代码像泥巴一样粘乎乎的
【 在 angelSsigh 的大作中提到: 】
: 呵呵,这话经典……
: 【 在 AlexRezit 的大作中提到: 】
: :
: ...................
毕设在做看pdf的 跟看图片的没啥区别。。
如果不需要zooming 就是用drawrect 定个mediarect 画出来就行
如果需要zoom的 画个tiledlayer subview在你的view上就行