标签: objective-c

如何使用Core Text和Attributed String伪造上标和下标?

我正在使用a NSMutableAttribtuedString来构建带有格式的字符串,然后我将其传递给Core Text以渲染到框架中.问题是,我需要使用上标和下标.除非这些字符在字体中可用(大多数字体不支持它),否则设置属性kCTSuperscriptAttributeName什么都不做.

所以我想我只留下了唯一的选择,即通过改变字体大小和移动基线来伪造它.我可以做字体大小位,但不知道改变基线的代码.有人可以帮忙吗?

谢谢!

编辑:我正在考虑,考虑到我可以用来解决这个问题的时间,编辑一个字体,以便给它一个下标"2"......或者找到一个内置的iPad字体.有没有人知道任何带有下标"2"的衬线字体我可以使用?

objective-c subscript nsattributedstring ipad core-text

11
推荐指数
2
解决办法
4457
查看次数

目标c"为每个"(快速枚举) - 收集评估?

从实验看,集合表达式只被评估一次.考虑这个例子:

static NSArray *a;

- (NSArray *)fcn
{
    if (a == nil)
        a = [NSArray arrayWithObjects:@"one", @"two", @"three", nil];
    NSLog(@"called");
    return a;
}

...

for (NSString *s in [self fcn])
    NSLog(@"%@", s);
Run Code Online (Sandbox Code Playgroud)

输出是:

2010-10-07 07:37:31.419 WidePhotoViewer Lite[23694:207] called
2010-10-07 07:37:31.420 WidePhotoViewer Lite[23694:207] one
2010-10-07 07:37:31.425 WidePhotoViewer Lite[23694:207] two
2010-10-07 07:37:31.425 WidePhotoViewer Lite[23694:207] three
Run Code Online (Sandbox Code Playgroud)

表示[self fcn]只被调用一次.

任何人都可以确认这是指定的(而不仅仅是观察到的)行为吗?

我的想法是做这样的事情:

for (UIView *v in [innerView subviews]) {
Run Code Online (Sandbox Code Playgroud)

而不是这个:

NSArray *vs = [innerView subviews];
for (UIView *v in vs) {
Run Code Online (Sandbox Code Playgroud)

思考?

iphone foreach objective-c fast-enumeration

11
推荐指数
2
解决办法
2万
查看次数

让我的Cocoa应用程序响应键盘播放/暂停键?

有没有办法让我的应用程序响应Mac上的播放/暂停按钮?

编辑:

使用建议的代码,我收到此控制台消息:

无法将操作buttonPressed:连接到NSApplication类的目标

那为什么会这样?

keyboard macos events cocoa objective-c

11
推荐指数
1
解决办法
4252
查看次数

Objective-c中的Smalltalk块?

Objective-C是否支持阻止"a la Smalltalk"?

在Smalltalk中,块类似于其他语言中的"闭包"或"lambda表达式"或"无名函数".

lambda closures smalltalk objective-c objective-c-blocks

11
推荐指数
2
解决办法
764
查看次数

我为什么要在房产中使用非原子?

可能重复:
Objective-C属性:原子与非原子

默认情况下,Objective-C中的所有属性都是原子的.如果我需要非原子,我必须声明它.但我想知道为什么我应该使用非原子?即使我的应用程序不是多线程的,原子似乎是这样做的方式.非原子的优点是什么?

objective-c

11
推荐指数
1
解决办法
2915
查看次数

iPhone上的JSON POST请求(使用HTTPS)

我托管了一个WCF服务,我试图在iPhone应用程序中使用它作为JSON POST请求.我打算稍后使用JSON序列化程序,但这是我对请求的要求:

    NSString *jsonRequest = @"{\"username\":\"user\",\"password\":\"letmein\"}";
    NSLog(@"Request: %@", jsonRequest);

    NSURL *url = [NSURL URLWithString:@"https://mydomain.com/Method/"];

    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
    NSData *requestData = [NSData dataWithBytes:[jsonRequest UTF8String] length:[jsonRequest length]];

    [request setHTTPMethod:@"POST"];
    [request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
    [request setValue:[NSString stringWithFormat:@"%d", [requestData length]] forHTTPHeaderField:@"Content-Length"];
    [request setHTTPBody: requestData];

    [NSURLConnection connectionWithRequest:[request autorelease] delegate:self];
Run Code Online (Sandbox Code Playgroud)

在收到的数据中,我只是将其打印到控制台:

- (void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    NSMutableData *d = [[NSMutableData data] retain];
    [d appendData:data];

    NSString *a = [[NSString alloc] initWithData:d encoding:NSASCIIStringEncoding];

    NSLog(@"Data: %@", a);
}
Run Code Online (Sandbox Code Playgroud)

在这个回复中,我得到了这样的信息:

Data: <?xml version="1.0" …
Run Code Online (Sandbox Code Playgroud)

iphone ssl https json objective-c

11
推荐指数
1
解决办法
4万
查看次数

如何使用iPhone SDK以编程方式生成PDF缩略图?

我们目前正在使用PDF内容UIWebViews.理想情况下,我希望能够在UITableView不加载许多不同的UIWebViews同时显示缩略图...它们足够慢以加载一个文档 - 更不用说10+!

有没有人对我如何做这个有任何提示?

我已经考虑过使用屏幕捕获加载的文档UIDocumentInteractionController,UIWebView但这意味着在显示表格之前必须先将它们缩略图.

pdf cocoa-touch objective-c ios

11
推荐指数
2
解决办法
8125
查看次数

在iphone上模拟触控

我试图在UIWebView上模拟触摸,我如何以编程方式在某个位置触发触摸事件?(x和y坐标)只需调用touchesBegan?

理想情况下,我想在没有任何javascript黑客的情况下这样做,因为将来它可能不是一个uiwebview

iphone events objective-c touch

11
推荐指数
1
解决办法
2万
查看次数

作为模态视图控制器的底层ViewController中的调用函数被解除

我有一个mainViewController.我调用[self pushModalViewController:someViewController],这使得someViewController成为活动视图.

现在我想在mainViewController中调用一个函数,因为someViewController随着[self dismissModalViewController]消失了.

viewDidAppear可能不会被调用,因为视图已经存在,就在模态视图下方.一旦modalView解散自己,如何调用mainViewController中的函数?

非常感谢!

iphone objective-c viewdidappear modalviewcontroller

11
推荐指数
2
解决办法
5913
查看次数

UIView,如何确定何时触摸进入视图

似乎只有触摸在该视图的边界内开始时才会调用UIView的所有触摸方法.有没有办法让视图响应在视图外触摸但随后将手指拖入视图的用户?

如果重要,我的具体应用是拖动MKPinAnnotationView(使用内置的4.0拖动).如果用户将一个引脚拖动到另一个视图(这恰好是一个AnnotationView,但它可能是任何东西),我想要发生一些事情.在我放开引脚之前,没有调用拖动的方法; 并且没有方法没有被拖动的UIView似乎被调用,除非我从视图中触摸开始.

因为superview是MKMapView,所以很难只使用touchesMoved事件并检查用户是否在正确的位置.谢谢!

iphone objective-c mkmapview touches

11
推荐指数
1
解决办法
1594
查看次数