Идея состоит в том, что, даже если базовая структура данных должна измениться, открытый интерфейс к классу не должен будет быть изменен.
C# может рассматривать свойства и переменные по-другому время от времени. Например, Вы не можете передать свойства как касательно или параметры . Таким образом, если необходимо изменить структуру данных по некоторым причинам, и Вы использовали общедоступные переменные, и теперь необходимо использовать свойства, интерфейс должен будет изменить и теперь кодировать то свойство x доступов, может не дольше скомпилировать как он, сделал, когда это был переменный x:
Point pt = new Point();
if(Int32.TryParse(userInput, out pt.x))
{
Console.WriteLine("x = {0}", pt.x);
Console.WriteLine("x must be a public variable! Otherwise, this won't compile.");
}
Используя свойства от запуска избегает этого, и можно не стесняться настраивать конкретную реализацию так, как Вы должны, не повреждая клиентский код.
Просто установите полупрозрачный цвет фона:
view.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5f];
Или в Swift:
view.backgroundColor = UIColor.blackColor().colorWithAlphaComponent(0.5)
Или в Swift 3:
view.backgroundColor = UIColor.black.withAlphaComponent(0.5)
Обратите внимание, что в данном конкретном случае UIColor (белый: 0, альфа: 0,5)
более краток, но colorWithAlphaComponent
будет работать в целом.
Вы можете установить цвет фона для UIView
полупрозрачным цветом или сделать само изображение полупрозрачным. Таким образом, прозрачно свойство представления, а не само представление.