Пользовательское представление UIPageControl, заменяя точки “Страницей X Y”

Вы можете использовать .values:

my_dict = {
 "key1": "value1",
 "key2": "value2"
}

print(*my_dict.values(), sep='\n')

. Или, если вы хотите использовать только ключи, вы можете использовать .keys:

print(*my_dict.keys(), sep='\n')

. Вы можете использовать .items:

print(*my_dict.items(), sep='\n')

Примечание: Использование имени переменной в качестве list не является хорошей практикой.

13
задан Michael Grinich 23 November 2010 в 02:17
поделиться

4 ответа

Я не думаю, что написание настраиваемого элемента управления страницей нарушит Руководство по человеческому интерфейсу. Я думаю, что отображение> 50 точек будет правильным;)

Я думаю, что вполне приемлемо пойти в обе стороны.

Вы можете создать собственный подкласс UIPageControl и переопределить поведение рисования точек по умолчанию. Вы должны быть осторожны, чтобы не переопределить другое поведение, которое вам нужно .

Или, поскольку класс UIPageControl не слишком сложен для повторной реализации, и написание целого нового класса гарантирует, что вы не переопределяйте поведение, которое вам нужно, когда вы переопределяете логику рисования точек, вы можете просто повторно реализовать ее. Если да, попробуйте использовать именование переменных Apple. Таким образом, каждый сразу узнает, как пользоваться вашим классом.

4
ответ дан 1 December 2019 в 19:15
поделиться

Хотя вы можете создать подкласс UIPageControl, я не думаю, что это что-то добавит. Я предлагаю вам подкласс UIControll и основывать свой API на API UIPAgeControl. Я думаю, что пользовательские интерфейсы будут идентичными.

Вы можете добавить свойства для управления текстом, но это, вероятно, не понадобится.

1
ответ дан 1 December 2019 в 19:15
поделиться

Просто используйте UILabel и установите для него текст с форматной строкой в ​​делегате прокрутки, которая говорит «Страница N из K» или что-то подобное. Невидимые кнопки влево / вправо могут быть добавлены с помощью простых прозрачных UIButton s.

На ваше усмотрение, если вы действительно хотите написать подкласс UIControl самостоятельно ....

3
ответ дан 1 December 2019 в 19:15
поделиться

Кроме того, я должен добавить для тех, кто рассматривает возможность создания подкласса UIPageControl (как я пришел (к сожалению) после выполнения ), класс по какой-то тупой причине не выполняет рисование в drawRect: или в любом другом общедоступном методе, если на то пошло. Я подозреваю, что в какой-то момент во время обновления страницы он устанавливает контекст рисования и заполняет его точками, но я здесь, чтобы вас предупредить:

  • Вы не можете переопределить drawRect: в UIPageControl, чтобы рисовать пользовательские точки вместо стандартных точки. Даже если вы получите прямоугольник для рисования точек, UIPageControl будет всегда (ура!) Рисовать свои маленькие белые точки.

Это делает класс практически неподклассифицированным.Конечно, можно, но почему?

И, что более важно, , почему Apple создала класс с таким смехотворно ненормальным поведением ?! drawRect: есть причина! Это напоминает мне о работе с NSMatrix в те времена, когда еще не было браузера изображений ...

2
ответ дан 1 December 2019 в 19:15
поделиться
Другие вопросы по тегам:

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