在我的应用程序的iOS 5版本中,我有:
[self.text drawInRect: stringRect
withFont: [UIFont fontWithName: @"Courier" size: kCellFontSize]
lineBreakMode: NSLineBreakByTruncatingTail
alignment: NSTextAlignmentRight];
Run Code Online (Sandbox Code Playgroud)
我正在升级iOS 7.上面的方法已被弃用.我现在正在使用drawInRect:withAttributes : . 的属性参数是一个NSDictionary对象.我可以得到drawInRect:withAttributes:使用这个来处理以前的字体参数:
UIFont *font = [UIFont fontWithName: @"Courier" size: kCellFontSize];
NSDictionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys: font, NSFontAttributeName,
nil];
[self.text drawInRect: stringRect
withAttributes: dictionary];
Run Code Online (Sandbox Code Playgroud)
我将哪些键值对添加到字典中以获取NSLineBreakByTruncatingTail和NSTextAlignmentRight?
我有一个带有a UITableViewController作为内容视图控制器的popover .表视图有一个UISearchBar标题视图.
现在,在iOS 6上,当UISearchDisplayController活跃时,一切看起来都很好.但是,在iOS 7上,搜索栏上方会有一个额外的空间.

那么如何摆脱iOS 7搜索栏上方的这个额外空间呢?
uisearchbar uisearchdisplaycontroller uipopovercontroller ios ios7
我正在使用UIContextMenuInteraction以下内容显示上下文菜单UICollectionView:
func collectiovnView(_ collectionView: UICollectionView, contextMenuConfigurationForItemAt indexPath: IndexPath, point: CGPoint) -> UIContextMenuConfiguration? {
return UIContextMenuConfiguration(identifier: nil, previewProvider: nil, actionProvider: { _ in
let deleteAction = UIAction(title: "Delete", image: UIImage(systemName: "trash"), attributes: .destructive) { _ in
self.deleteItem(at: indexPath)
}
return UIMenu(title: "Actions", children: [deleteAction])
})
}
func deleteItem(at indexPath: IndexPath) {
self.collectionView.performBatchUpdates({
self.items.remove(at: indexPath.item)
self.collectionView.deleteItems(at: [indexPath])
})
}
Run Code Online (Sandbox Code Playgroud)
一切正常,但是当我点击“删除”项目时,会发生一个奇怪的动画,其中已删除的项目留在原地而其他项目正在移动,然后它立即消失。有时我什至在新项目出现之前的几分之一秒内看到一个空白区域或一个随机项目。
如果我collectionView.deleteItems()在上下文菜单未显示时调用,则删除动画按预期工作。
我得到设备Mac和IP地址.但是,不要获取设备名称.
任何想法如何获得更多的信息,如可能像设备的"网络实用程序"?
在iOS 6上,我已经能够设置AVAudioSession来播放mp3文件.在iOS 7下使用Base设置运行时,这不再有效.任何想法为什么这不起作用?该应用程序永远不会崩溃...它只是不播放MP3.我已经验证了相同的代码和相同的URL适用于iOS 6应用程序.
错误是:
ERROR: 185: Error creating aggregate audio device: 'what'
WARNING: 219: The input device is 0x31; 'AppleHDAEngineInput:1B,0,1,0:1'
WARNING: 223: The output device is 0x28; 'AppleHDAEngineOutput:1B,0,1,1:0'
ERROR: 398: error 'what'
_itemFailedToPlayToEnd: {
kind = 1;
new = 2;
old = 0;
}
Run Code Online (Sandbox Code Playgroud)
代码:
- (void)viewDidLoad {
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
NSError *setCategoryError = nil;
[audioSession setCategory:AVAudioSessionCategoryPlayback error:&setCategoryError];
if (setCategoryError) { /* handle the error condition */ }
NSError *activationError = nil;
[audioSession setActive:YES error:&activationError];
if (activationError) …Run Code Online (Sandbox Code Playgroud) 我有一个带有a UITableViewController作为内容视图控制器的popover .表视图有一个UISearchBar标题视图.
在iOS 6上一切正常,但在iOS 7上,关闭popover时应用程序崩溃会出现此错误:
*** -[UIView release]: message sent to deallocated instance 0x118a9bf0
Run Code Online (Sandbox Code Playgroud)

有关这次崩溃的可能原因的任何想法?
我正在尝试UIPageViewController在轮换期间更新当前页面,如下所示:
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
NSArray *controllers = @[someViewController];
UIPageViewControllerNavigationDirection direction = UIPageViewControllerNavigationDirectionForward;
[self.pageController setViewControllers:controllers direction:direction animated:YES completion:^(BOOL finished) {
/// This completion block isn't called ever in this case.
}];
}
Run Code Online (Sandbox Code Playgroud)
但是,出于某种原因,在这种情况下永远不会调用完成块,而当我从其他地方使用相同的参数调用相同的方法时,它会按预期调用。
任何人都可以确认这种奇怪的行为,如果这是一个错误UIPageViewController还是只是对我的误用?
更新
我发现,如果我改变参数animated,以NO如预期完成块将被称为!因此,在我看来,它是UIPageViewController.
我有一个扩展AccessibilityService的类,并且在发生某些事件时会启动活动。
问题在于活动结束时,应将数据发送回“ AccessibilityService”。有谁知道如何做到这一点?
例:
public class MyAccessibilityService extends AccessibilityService {
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
if (event.getEventType()==AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED){
Intent intent=new Intent(getApplicationContext(),DialogActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
// String resul=set result When Activity is closed
}
}
Run Code Online (Sandbox Code Playgroud)
提前致谢!
如何使用队列中的值更新GUI元素?如果我使用异步队列构造,textlable不会更新.这是我使用的代码示例:
- (IBAction)dbSizeButton:(id)sender {
dispatch_queue_t getDbSize = dispatch_queue_create("getDbSize", NULL);
dispatch_async(getDbSize, ^(void)
{
[_dbsizeLable setText:[dbmanager getDbSize]];
});
dispatch_release(getDbSize);
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
ios ×7
ios7 ×3
iphone ×2
objective-c ×2
uisearchbar ×2
android ×1
device ×1
ip-address ×1
mac-address ×1
nsstring ×1
queue ×1
swift ×1
uitableview ×1