Как добавить UIScrollView для Взаимодействия через интерфейс с разработчиком?

Вы рассмотрели использование таблицы стилей печати? Это могло позволить Вам делать что-то как:

<div class="star">*</div>

/* media:screen */
.star {
    background: ...;
    overflow: hidden;
    text-indent: 9999em;
}

/* media:print */
.star {
    text-indent: 0;
}

или еще легче:

<div class="star"><img src="./images/star.jpg" alt="*" /></div>

/* media:screen */
.star img {
    visibility: hidden;
}

/* media:print */
.star img {
    visibility: visible;
}

можно определить, что браузеры таблиц стилей должны использовать путем предоставления тега медиа, или css или на элементе ссылки:

<link rel="stylesheet" type="text/css" href="main.css" media="screen" />
<link rel="print stylesheet" type="text/css" href="print.css" media="print" />
20
задан Marc W 5 October 2009 в 17:30
поделиться

4 ответа

Откройте представление, в котором есть все элементы управления, метки и т. Д. (В Интерфейсном Разработчике). Выбрать все. Затем в меню «Редактор» выберите «Вставить в», затем «Прокрутить вид».

Примечание: в более старых версиях Xcode это находится в меню «Макет», затем «Встраивать объекты в ...» (просмотр с прокруткой).

30
ответ дан 29 November 2019 в 22:42
поделиться

Выделите все объекты, которые вы хотите поместить в режим прокрутки, и перейдите в меню «Макет», выберите «Встраивать объекты в» и выберите «Прокрутка».

3
ответ дан 29 November 2019 в 22:42
поделиться

My preferred solution, where you don't need to hard-code the size of the contentSize:


NB: you might be able to avoid the source-code parts of this using the trick here: https://stackoverflow.com/a/11239123/153422 - although I haven't tried it yet.

The rest of this trick ... you still need to use anyway


  1. Move all controls into a single UIView (in IB: select all, then go Layout > Embed Objects In ... > View)

  2. Hookup that single UIView to your source code using an IBOutlet property (see below)

  3. IN SOURCE CODE, NOT INTERFACE BUILDER (IB is broken here, it has bugs where it sets the origin of the UIScrollView incorrectly - it tries to center the view. Apple never bothered to check it for basic bugs, sigh): Move the single UIView into a UIScrollView (see code below).

  4. Use sizeThatFits to "automatically" set the correct size.

Code (StackOverflow won't let me put code inside a numbered list. Sigh)

Header file:

/** outlet that you hook up to the view created in step 1 */
@property(nonatomic, retain) IBOutlet UIView *masterView;

Class file:

/** inside your viewDidLoad method */
[scrollview addSubview: masterView]; // step 3
scrollView.contentSize = [masterView sizeThatFits:CGSizeZero]; // step 4

...although I haven't checked this recently, IIRC it works on both 2.x and 3.x

25
ответ дан 29 November 2019 в 22:42
поделиться

Это просто:

Сначала добавьте прокрутку в свое представление. Измените размер прокрутки (например, сделайте его длиной 700 пикселей). Начните размещать элементы управления Если вы хотите разместить / отредактировать элементы управления в нижней (невидимой) части, выберите режим прокрутки и измените начальную позицию Y на -300. Вуаля. После редактирования установите начальную позицию Y на 0 или что-то еще.

4
ответ дан 29 November 2019 в 22:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: