¿NSView tiene un color de fondo? si es asi no lo encuentro
Frecuentes
Visto 1,788 veces
3
Estoy viendo por todas partes en línea donde las personas se refieren a backgroundColor de NSView. Necesito configurar un backgroundColor personalizado para mi NSView, pero no veo esa propiedad. No puedo verlo en código, o en IB. No puedo configurar el color de fondo de mi NSView simple.
¿Qué podría estar perdiendo?
3 Respuestas
4
Deben estar pensando en UIView
, que tiene un backgroundColor
propiedad. NSView
sí no tiene un backgroundColor
propiedad.
Tendrá que lograr su efecto de alguna otra manera, por ejemplo, a través de subclases NSView
.
Respondido el 12 de junio de 12 a las 17:06
1
Por extraño que parezca, NSView no proporciona esto (suspiro). Uso una clase consistente que escribí yo mismo en todos mis proyectos de macOs. Simplemente cambie la clase CustomView en la pestaña Identity Inspector en IB a ColorView. Luego podrá establecer el color de fondo en el Inspector de atributos, tal como lo haría para una UIView. Aquí está el código, ¡espero que esto ayude!
import Cocoa
class ColorView: NSView
{
@IBInspectable var backgroundColor:NSColor?
required init?(coder decoder: NSCoder)
{
super.init(coder: decoder)
wantsLayer = true
}
override init(frame frameRect: NSRect)
{
super.init(frame: frameRect)
wantsLayer = true
}
override func layout()
{
layer?.backgroundColor = backgroundColor?.cgColor
}
}
Respondido el 06 de diciembre de 17 a las 10:12
0
Puede llegar a él a través de la capa de la vista, por ejemplo (en Swift):
view.layer?.backgroundColor = NSColor.blue.cgColor
Extrañamente se puede configurar en el xib. En el inspector de identidad de la vista, agregue el atributo de tiempo de ejecución definido por el usuario backgroundColor
, con el color Tipo.
respondido 22 mar '17, 21:03
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas macos cocoa nsview background-color or haz tu propia pregunta.
Es realmente extraño que no tengan un método listo para usar para cambiar el color de fondo de una vista. Gracias por la respuesta - Westley
@Wes: Eso es porque
NSView
, por sí mismo, realmente no hace nada. No dibuja nada. Me cuesta mucho imaginar una situación en la que necesitaría establecer el color de fondo pero aún no está subclasificando la vista. - dietrich epp