Для моего приложения я хочу установить пользовательскую длину и ширину для моего NSWindow из самого приложения. У меня все настроено (NSTextfields), но я в тупике, как я должен это делать.set custom length и width NSWindow
ответ
NSRect
определяется следующим образом:
typedef struct _NSRect {
NSPoint origin;
NSSize size;
} NSRect;
И NSSize
определяется следующим образом:
typedef struct _NSSize {
CGFloat width;
CGFloat height;
} NSSize;
Вы должны конвертировать NSString
с до номеров первой. Вы можете сделать это так:
CGFloat numericalValue = [stringValue doubleValue];
(я на самом деле не помню, если CGFloat
определяется как float
или double
я просто слишком ленив, чтобы посмотреть его прямо сейчас.). Обратите внимание, что это приведет к исключение, если stringValue
не представляет собой правильно отформатированное число.
Вы хотите использовать метод setFrame:display:
или setFrame:display:animate:
на NSWindow.
От documentation:
- (void)setFrame:(NSRect)windowFrame display:(BOOL)displayViews
Параметры
windowFrame
Рамка прямоугольника для окна.
displayViews
Указывает перерисовывается ли окно мнения, которые должны быть отображены. Когда ДА, окно отправляет сообщение displayIfNeeded вниз по своей иерархии представлений, тем самым перерисовывая все виды.
как установить длину и ширину? –
Серьезно? В этом весь смысл. Составьте NSRect с желаемым происхождением и размером, а затем отправьте его в свое окно с помощью этого метода. Он изменит размер. –
Вот что я пробовал, но я получил ошибку «несовместимые типы в задании» –
- 1. ttk.Separator set length/width
- 2. UITableViewCell Custom Indentation Width
- 3. Min Length Custom AbstractValidationAttribute и реализация Castle.Components.Validator.IValidator
- 4. Custom DateTime day length
- 5. Set Length of ComboBox
- 6. Set Toast Appear Length
- 7. Spacemacs set tab width
- 8. Set Anchor tag width
- 9. XUL set toolbarbutton width
- 10. CKEditor set width
- 11. Set Width без Shifting
- 12. jqtransform - set textbox width
- 13. GraphViz set page width
- 14. LinqToCsv Set Column Width
- 15. Android EditText Set Max Length
- 16. Set Grid Columns Width = Auto и MaxWidth
- 17. Swift set width и height subclass UIView
- 18. Java Textfield set char length
- 19. JQuery autogeocomplete set string length
- 20. Функция openDialog() set width и set height Google Spreadsheets
- 21. set content-length using MappingJacksonHttpMessageConverter
- 22. Set Kendo TextboxFor max length
- 23. set width of chart, highcharts
- 24. Set Width/Height jQuery UI
- 25. html css tr set width
- 26. set width image gridview yii2
- 27. Set Auto width - jQuery Autocomplete
- 28. Monodroid - Set Custom font
- 29. Custom Result Set
- 30. NSURLCache, set custom key
спасибо, теперь я избавился от ошибок, теперь мне просто нужно установить эту высоту и ширину к окну –
'CGFloat' является' float' в 32-битном и 'double' в 64-битном режиме. Но поскольку вам нужно сделать NSSize, вы, вероятно, будете использовать' NSMakeSize', который принимает float, поэтому попробуйте использовать '[ Custo mWidth floatValue] 'и т. д. – Abizern
Да,' NSMakeSize' будет проще и компактнее. Я должен был упомянуть об этом в своем ответе. Спасибо, что сэкономили мне усилия по поиску 'CGFloat' :-) – Alex