我怎样才能画出以NSRect为中心的NSString

我从以下内容开始:(从我的自定义视图的drawRect方法中摘录)

NSString* theString = ...
[theString drawInRect:theRect withAttributes:0];
[theString release];

现在我假设我需要设置一些属性.我已经浏览了Apple的Cocoa文档,但是它有点让人不知所措,并且找不到任何关于如何在属性中添加段落样式的内容.

而且,我只能找到horizontal条直线,那么vertical条直线呢?

推荐答案

垂直对齐你必须自己做((视图高度+字符串高度)/2).水平对齐您可以使用:

NSMutableParagraphStyle *style = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];
style.alignment = NSTextAlignmentCenter;
NSDictionary *attr = [NSDictionary dictionaryWithObject:style forKey:NSParagraphStyleAttributeName];
[myString drawInRect:someRect withAttributes:attr];

Objective-c相关问答推荐

如何使用名称而不是self.name?访问Deliver-C @Property

当 UITextField 成为第一响应者时如何使 UIScrollView 自动滚动

我需要在 ARC 中使用 dealloc 方法吗?

self.ivar 和 ivar 之间的区别?

XCTAssert 和 XCTAssertTrue 有什么区别?

静态 NSString 使用与内联 NSString 常量

Container View 好像有 UINavigationBar 一样被下推?

try 标记应用程序图标但未获得用户标记应用程序的权限:iOS 8 Xcode 6

如何删除 xcode 5 中的旧配置文件?

iOS 7 - 键盘动画

我应该使用 NSUserDefaults 还是 plist 来存储数据?

如何逐行从 NSFileHandle 读取数据?

如何从设置屏幕打开位置服务屏幕?

如何检测 NSString 是否为空?

-[MyClassName copyWithZone:] 无法识别的 Select 器发送到实例

UICollectionView 自动调整高度

从带有参数的方法名称创建 Select 器

如何在 Xcode 7 中启用_BITCODE?

如何根据按钮按下重新加载/刷新 UIPickerView(带有新数据数组)?

无法更改 UILabel 文本 colored颜色