текст выравнивания по правому краю в UIPickerView

Переменные, объявленные с помощью class, ведут себя аналогично переменным, объявленным с помощью const и let, - они не назначаются неявным образом объекту окна (что, возможно, является хорошей вещью). Если вы хотите поставить Unit на window, вам придется сделать это явно:

class Unit {
  constructor(){
    console.log('constructing');
  }
}    
window.Unit = Unit;

var str = "Unit";
var a = new window[str]();

Вы можете рассмотрите возможность использования собственного объекта классов, чтобы избежать глобального загрязнения:

const myClasses = {
  Unit: class Unit {
    constructor(){
      console.log('constructing');
    }
  }
};

var str = "Unit";
var a = new myClasses[str]();

Значения объекта не могут ссылаться друг на друга в процессе объявляя литерал объекта - чтобы поместить подкласс в myClasses, расширяющий один из существующих классов, вы должны будете сделать это вне объявления myClasses:

[112 ]

8
задан Sophie Alpert 22 February 2009 в 02:08
поделиться

2 ответа

Ваш не наблюдение чего-либо из-за CGRectZero. Необходимо установить размер в случае.

В UICatalog, если Ваш разговор о том, как они использовали CGRectZero для CustomView... хорошо при рассмотрении CustomView.m, Вы будете видеть, что они на самом деле игнорируют CGRectZero и устанавливают кадр на размер в initWithFrame:

3
ответ дан 5 December 2019 в 12:13
поделиться

Удостоверьтесь Вы:

  • Обеспечьте явный кадр, который так же высок и широк по мере необходимости;
  • Установите непрозрачность дисплея маркировки (через .opaque = ДА или НЕ) и цвет фона соответственно (Вы обычно хотите НЕ и [UIColor clearColor] соответственно).
  • Установите шрифт явно.
0
ответ дан 5 December 2019 в 12:13
поделиться
Другие вопросы по тегам:

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