Kru*_*nal 5 iphone uiscrollview uiviewcontroller uilabel ipad
我是iPad开发人员的新手,
我在我的应用程序中创建了一个注册表单,当我在Portrait模式中看到我的应用程序时,我能够看到没有滚动的整个表单,但是当我在Landscape模式中看到相同的表单时,我无法看到位于页面底部的部分为此,滚动应该在那里看到底部.
:在我.h替换时的文件中
@interface ReminderPage : UIViewController{
...
...
}
Run Code Online (Sandbox Code Playgroud)
:UIViewController 同 :UIScrollView
然后当我在我的.m文件中添加标签时,
UILabel *Lastpaidlbl = [[[UILabel alloc] initWithFrame:CGRectMake(70 ,400, 130, 50)]autorelease];
Lastpaidlbl.backgroundColor = [UIColor greenColor];
Lastpaidlbl.font=[UIFont systemFontOfSize:20];
Lastpaidlbl.text = @"Lastpaid on :";
[self.view addSubview:Lastpaidlbl];
Run Code Online (Sandbox Code Playgroud)
我在最后一行得到错误在类型classname的对象上找不到属性视图. 我无法在视图中添加标签.
任何帮助将不胜感激.
问题似乎是在询问如何将屏幕上的所有组件放在UIScrollView中,而不是放在UIView中.使用Xcode 4.6.3,我发现我可以通过以下方式实现:
最终结果是嵌入在现有主UIView中的新滚动视图,UIView的所有前子视图现在都作为UIScrollView的子视图,具有相同的定位.
如果您想用 UIScrollView 替换 UIViewController,则必须对代码进行一些重构。您收到的错误只是其中的一个示例:
语法:
[self.view addSubview:Lastpaidlbl];
Run Code Online (Sandbox Code Playgroud)
self如果是 UIViewController则正确;既然您将其更改为UIScrollView,您现在应该执行以下操作:
[self addSubview:Lastpaidlbl];
Run Code Online (Sandbox Code Playgroud)
您将对代码进行很多像这样的更改,并且会面临一些问题。
另一种方法是这样的:
实例化一个 UIScrollView (不是从它派生);
将您的 UIView (例如您定义的)添加到滚动视图;
定义contentSize滚动视图的 ,以便包含您拥有的整个 UIView 。
滚动视图充当现有视图的容器(将控件添加到滚动视图,然后将滚动视图添加到 self.view);这样,您可以将其集成到现有的控制器中:
1. UIScrollView* scrollView = <alloc/init>
2. [self.view addSubview:scrollView]; (in your controller)
3. [scrollView addSubview:<label>]; (for all of your labels and fields).
4. scrollView.contentSize = xxx;
Run Code Online (Sandbox Code Playgroud)
我认为后一种方法会容易得多。
| 归档时间: |
|
| 查看次数: |
7331 次 |
| 最近记录: |