我是iOS的新手,我正在尝试开发基于新闻的应用程序。
在我的应用程序中,我有一个根视图控制器,它是一个表视图控制器来显示新闻'标题和新闻'图像。好吧,当用户点击表格单元格时,会显示另一个视图控制器,它更加详细和可滚动。
在 View Controller 中,用户可以在Facebook和Twitter上分享新闻,这样我至少有两个按钮。我想要做的是当用户向上滚动时显示这两个按钮。当用户向下滚动时,我想让它们消失。有一些类似于 Pulse News 的内容。我已经看过 Scroll View委托方法,但我没有让它工作。我怎样才能完成我想做的事情?
提前致谢。
答案 0 :(得分:1)
根据滚动位置在您想要滚动的位置创建按钮。
scroll.frame.origin.x;
scroll.frame.origin.y;
scroll.frame.size.height;
scroll.frame.size.width;
现在您可以在滚动视图上按下按钮:
button = [[UIButton alloc] initWithFrame:CGRectMake(x,y,x1,y1);
答案 1 :(得分:0)
使用工作代码更新:让按钮滚动离开页面,使其不可见
我知道你说你看了一下scrollview代表,但是你会怎么解决这个问题。在查看Pulse时,唯一棘手的操作就是当你向下滚动时,就像UIToolbars看起来那样消失了。你需要拥有的最重要的东西是从iPhone的可见屏幕的最底部和顶部继承UIView的东西,所以当用户向下或向上滚动时,contentoffset有一个值。
其他所有动作都会导致它们出现,因此Pulse可能会做这样的事情。
#import <UIKit/UIKit.h>
@interface C1ViewController : UIViewController
{
CGPoint _y;
}
@property (weak, nonatomic) IBOutlet UIScrollView *scroller;
@property (weak, nonatomic) IBOutlet UIToolbar *toolbar;
@end
#import "C1ViewController.h"
@interface C1ViewController ()
@end
@implementation C1ViewController
@synthesize scroller = _scroller;
@synthesize toolbar = _toolbar;
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.scroller.contentSize = CGSizeMake(self.scroller.frame.size.width, self.scroller.frame.size.height + 100);
self.toolbar.hidden = TRUE;
_y = [self.scroller contentOffset];
}
// this method is getting deprecated, so don't worry about it to much
// but don't forget to dealloc...which I did not include.
- (void)viewDidUnload
{
[self setScroller:nil];
[self setToolbar:nil];
[super viewDidUnload];
// Release any retained subviews of the main view.
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
NSLog(@"content offset %f", self.scroller.contentOffset);
if (_y.y < [self.scroller contentOffset].y){
self.toolbar.hidden = TRUE;
}
else {
self.toolbar.hidden = FALSE;
}
}
@end
我的视图层次结构在Interface Builder中的样子