Adding items to scrollview in storyboard (size ins

2020-02-26 00:37发布

I've added a scrollview with a content size that is larger than the screen size in my view controller using storyboard. Of course the purpose of the scrollview is to have content larger than the view that contains it. I would like to add buttons and label to the bottom of the scrollview graphically in storyboard, but I can't view that part of the scrollview. How do I get there. I tried adjusting in the size inspector which worked for me when I first added the view a few weeks ago, but it don't let me change anything.

4条回答
▲ chillily
2楼-- · 2020-02-26 01:02

You can work on iPad Full Screen size if your content won't exceed the screen size too much.

查看更多
趁早两清
3楼-- · 2020-02-26 01:18

It's great that you solved that. If I had that problem I would create a view that has the same frame size as content size of the scroll view. Add all the controls I need (buttons, labels, textFields etc.) on this view at the positions I need. After that just added the view on scroll, make an IBOutlet of the scroll and set it's content size programmatically somewhere in my code, before using that scroll (setting it in viewDidLoad will be fine).

That's another solution of this problem.

查看更多
小情绪 Triste *
4楼-- · 2020-02-26 01:19

The only way I've been able to edit my content in a UIScrollView (and this dates back to way before the Storyboard, but I'm pretty sure it still applies) is to change the offset of the x or y of your content frame.

Another option, depending on whether your content view is "static" (built in the .xib) or not, is to actually pull it outside of the scroll view, and set it as the content view programmatically in viewDidLoad or something.

Hope this helps, I can follow up with code examples if it makes sense and you need 'em.

EDIT (2/10/2012): Here's an example of how to hook up the larger view to your scroll view. In this example, the scroll view (scrollView) is set to the view controller's view property. In the .xib I've also added a UIView named largerView. The two are not hooked up in any way in the .xib file, they just both appear there.

Given...

@property (nonatomic, retain) IBOutlet UIView *largeView;
@property (nonatomic, retain) IBOutlet UIScrollView *scrollView;

In viewDidLoad: we just...

// add the largeView to the main scrollView
[scrollView addSubview:largeView];
[scrollView setContentSize:largeView.frame.size];

This is probably the simplest possible example though. Good luck!

查看更多
\"骚年 ilove
5楼-- · 2020-02-26 01:22

@T.J. & @livingtech:

Why don't you use embed property given in Interface Builder?

Here you are creating two views (UIView largeView and UIScrollView scrollView). So its kind of wasting of memory for the same objects.

enter image description here

  1. First add one more UIView in your nib with your height and width.
  2. Add your controls wherever you want. (let say largeView only)
  3. Then use embed property with ScrollView. (let say myScrollView only)
  4. Now add this myScrollView in your original view wherever you want with your custom height and width.
  5. In code base just set myScrollView contentSize as per the largeView size.

This would be easier for the code reusability and expandability purpose. If in future you need to add more objects.

查看更多
登录 后发表回答