- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我想用我自己的自定义图形覆盖表情符号图标(仅在我的应用程序中)。
根据我目前所读的内容,一种可能的解决方案是创建一个自定义字体扩展名来覆盖所需的 unicode 字符。最好我想保持与 CATextLayer 的互操作性。
编辑:看起来自定义字体不是我的解决方案;字体必须以灰度定义。下一种可能性:创建自定义 CALayer,根据表情符号代码将字符串分 block ,然后手动进行类型设置 + 图形渲染(即使用核心图形和核心文本)
编辑:还希望在表格 View 中保持平滑的滚动性能。
câu trả lời hay nhất
我花了很多时间尝试做同样的事情。最好的办法是替换 NSString 中表情符号的 unicode 值,例如。\uE100 等带有占位符字符串。您可以将表情符号编码替换为 HTML 标签并使用 UIWenViews 或 DTCoreText内联绘制图像。我已经这样做了,它也有效,但是它会有点慢(特别是如果你想在表格 View 中显示这个标签。)
这是一个小开场白:
创建一个以 UIImages 作为对象和占位符字符串作为键的字典:
self.emoticonDict = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"happyEmoticon.png", @":)",
@"sadEmoticon.png", @":(",
@"testImg.png", @"\uE100",
nil];
__block NSString *text1 = [NSString stringWithFormat:@"%@
",text];
[self.emoticonDict enumerateKeysAndObjectsUsingBlock: ^(id key, id obj, BOOL *stop) {
text1 = [text1 stringByReplacingOccurrencesOfString:key withString:[NSString stringWithFormat:@"
",obj]];
}];
此时您可以将此 HTML 加载到 UIWebView 中,您将获得所需的内容。
[myWebView loadData:_htmlData MIMEType:@"text/html" textEncodingName:@"utf-8" baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];//do create the webview first
如果 UIWebView 的速度慢是一个问题,您可以提前阅读。无论哪种情况,请务必查看此答案末尾的注释。
要创建 DTAtributedLabel,我们执行以下操作:首先,我们使用 DHTMLAttributedStringBuilder 构建一个 NSattributedString:
NSAttributedString *temp = [[[DTHTMLAttributedStringBuilder alloc] initWithHTML:text1
options:@{
DTDefaultFontFamily: @"Helvetica",
DTDefaultFontSize:@15,};
documentAttributes:nil]
generatedAttributedString];
然后您可以使用 DTAttributedLabel 实例来显示温度。
self.tempLabel.attributedString = temp;//create a DTAttributedLabel Instance called tempLabel before this, I had it as a property
我的目标是在支持自定义表情符号的同时快速生成文本标签(表格 View )。 DTAtributedLabels 很快(比 UIWebView 快得多)笔记:我还制作了一个自定义字体,我将表情符号的 unicode 值映射到自定义字形。令我惊讶的是,仍然显示默认的表情符号。我想在这里声明,每当 iOS (CoreText) 遇到一个值位于 Emoji 部分的字符时,它默认使用 AppleColorEmoji 字体绘制它。缺乏关于 Apple Color Emoji 字体实际上是如何在 iOS 上绘制的文档实际上让我很难证明这一点,但这似乎是一个似是而非的解释。如果您将表情符号从字符调色板应用程序拖放到 textEdit 中的文件中,然后选择它并尝试更改字体,您会发现它不会发生。同样,如果您键入一些文本,然后选择它并尝试将其字体更改为 Apple Color Emoji,您会发现它不会发生。当我反编译 Apple Color Emoji 字体时,我没有找到文本字符(0-9 除外)的字符映射或字形。不知何故,即使您将标签的字体设置为 Apple Color Emoji,标签文本的文本(非表情符号)部分的字体也会设置为其他字体。
请随时发表评论并分享您的知识,因为 Apple Color Emoji 字体周围的这个区域仍然非常不清楚。
关于iphone - 覆盖表情符号图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8274769/
Nếu tôi sử dụng NSUserDefaults để lưu trữ cài đặt ứng dụng của mình, có cách nào để "ẩn" cài đặt ứng dụng của tôi hiển thị trong ứng dụng Cài đặt thông thường trên iPhone không? Tôi biết có những công cụ khác như mySetti
Tôi đã làm theo hướng dẫn từ trang web này: http://theappleblog.com/2008/08/04/tutorial-build-a-simple-rss-reader-for-iphone/ để thực hiện
Tôi đã thực hiện bản địa hóa bằng cách thay đổi ngôn ngữ của iPhone bằng localisableString và xib khác chỉ cho phương thức NSLocale nhưng yêu cầu của ứng dụng là bản địa hóa bằng cách thay đổi ngôn ngữ trong cài đặt ứng dụng Xem
Tôi đang cố gắng tìm hiểu xem liệu iPhone có thể kết nối với một thiết bị khác không phải iPhone qua mạng không dây hoặc Bluetooth hay không nhưng tôi thấy có thông tin mâu thuẫn. Hầu hết những gì tôi tìm thấy đều có trước khi phát hành SDK 3.0, khi điều đó chắc chắn là không thể thực hiện được. xem đống
Câu hỏi này đã có câu trả lời ở đây: Đã đóng 7 năm trước. Có thể trùng lặp: Cách phát hiện iPhone
Khi tôi chạy ứng dụng của mình trên trình mô phỏng, nó luôn tạo ra một màn hình trống màu trắng. Nhưng khi tôi thoát ứng dụng bằng nút iPhone màu đen ở dưới cùng, Chế độ xem sẽ hiển thị sau khi vào lại ứng dụng. Ứng dụng sau đó chạy như bình thường. Nhưng khi tôi tải nó vào
Ý tôi là hai thiết bị iPhone phải được kết nối qua Bluetooth hoặc WiFi và giao diện người dùng của một thiết bị phải được mở rộng sang thiết bị iPhone kia (không chia sẻ màn hình). Có cách nào chúng ta có thể làm điều này trong iOS không? Câu trả lời hay nhất
Làm cách nào để phát hiện kiểu thiết bị thông qua macro? Tôi đã sử dụng một cái gì đó tương tự nhưng kết quả trên trình mô phỏng luôn là IS_IPHONE_5 #define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInt
Tôi hiện có một ứng dụng yêu cầu người dùng duy trì đường hầm VPN. Trong khi tải, tôi kiểm tra xem đường hầm VPN có sẵn không. Tôi đã tự hỏi liệu có cách nào để hiển thị UIAlertView mà sau khi nhấp vào "OK", người dùng sẽ được đưa đến màn hình cài đặt chính của iPhone để
Tôi đang phát triển một ứng dụng khách iPhone cho phép người dùng xếp hạng các dịch vụ khác nhau. Không cần đăng ký hoặc đăng nhập. Yêu cầu là người dùng không thể xếp hạng dịch vụ nhiều lần (mặc dù xếp hạng của họ có thể thay đổi). Hiện tại, ứng dụng có thể được gỡ bỏ, cài đặt lại,
Ví dụ: nếu tôi nhấp vào biểu tượng ứng dụng iphone, nó sẽ tạo tệp .app khi khởi chạy. Vậy có thể gọi ứng dụng iPhone khác từ ứng dụng này được không. Hoặc chúng ta có thể làm điều gì đó trong tệp .app đó như nó sẽ làm
Có thực sự có thể làm cho chế độ im lặng của iPhone độc lập với Ứng dụng iPhone không? Ứng dụng "Talking Carl" này làm tôi bối rối. IPhone của tôi ở chế độ im lặng. Bất cứ khi nào tôi mở ứng dụng này. Âm thanh ứng dụng đang ở chế độ bật
Câu hỏi này dường như không hữu ích cho bất kỳ khách truy cập nào trong tương lai; nó chỉ liên quan đến một khu vực địa lý nhỏ, một thời điểm cụ thể hoặc một tình huống rất hẹp và thường không áp dụng cho khán giả Internet trên toàn thế giới. Để được trợ giúp làm cho câu hỏi này có thể áp dụng rộng rãi hơn, hãy truy cập
Nếu tôi muốn viết một số ứng dụng iPhone tùy chỉnh nhưng không nhất thiết phải phân phối chúng thông qua App Store, liệu tôi có thể làm điều đó mà không cần tham gia Chương trình nhà phát triển iPhone không? Giả sử tôi chỉ muốn viết một số tiện ích nhỏ cho bản thân và đưa nó vào
Ý kiến và/hoặc trải nghiệm của mọi người với các công cụ trò chơi như Unity hoặc Torque Engine là gì? Nếu bạn là người mới bắt đầu phát triển trò chơi trên iPhone, liệu bạn có nên học một trong những công cụ này không? Các ứng dụng do các công cụ này tạo ra khác với các ứng dụng gốc sử dụng SDK.
Bạn có thể phân phối ứng dụng iPhone để thử nghiệm trong Trình mô phỏng iPhone trên máy tính chưa cài đặt công cụ phát triển XCode không? Tôi có thể cài đặt trình giả lập trực tiếp trên máy tính để thử nghiệm không? Tôi có một nhóm người thử nghiệm không phải là nhà phát triển ngoại trừ khả năng chạy
Tôi muốn xây dựng và cài đặt ứng dụng của mình trên thiết bị đã bẻ khóa của mình mà không phải trả 99 USD cần thiết cho Chương trình dành cho nhà phát triển iPhone. Tôi có Rock và Cydia... Cách dễ nhất (nếu có thể) là gì? Cảm ơn. Câu trả lời hay nhất là cái này
Tôi muốn kiểm tra một trang web để xem nó hoạt động như thế nào với iPhone nhưng tôi không có iPhone hoặc iPod touch. Có cách nào để tôi kiểm tra trang web của mình hoạt động như thế nào mà không cần sở hữu nó không? Điều tôi thực sự muốn là sửa chữa Stack
Nói một cách đơn giản; 99 đô la của tôi mang lại cho tôi điều gì mà tôi không thể nhận được miễn phí? Được rồi, được rồi, nghe có vẻ là một câu hỏi ngu ngốc, nhưng trang web của Apple đối với tôi không rõ ràng. Linh cảm của tôi là bạn có thể gửi ứng dụng lên cửa hàng ứng dụng với giá 99, nhưng bạn có thể làm điều đó miễn phí
Tôi là nhà phát triển iOS đã đăng ký. Làm cách nào để chuyển ứng dụng iPhone sang iPhone cá nhân của tôi? Câu trả lời tốt nhất để thử nghiệm? Chỉ cần chọn thiết bị của bạn thay vì trình giả lập. Giới thiệu về iPhone - Làm cách nào để chuyển đổi iPhone của tôi sang
Tôi là một lập trình viên xuất sắc, rất giỏi!