具有UIWindowLevelStatusBar旋转问题的iOS 8/7 UIWindow

我试图添加UIWindow与UIWindowLevelStatusBar级别。 它在ipad完美的肖像模式工作,但旋转设备后,它搞砸了。 在iOS 7.x中,除了颠倒以外,所有的旋转都很好,而在iOS 8.x上,只有肖像模式很好,所有其他的方向都搞砸了。 任何想法如何解决? CGRect frame = [UIApplication sharedApplication].statusBarFrame; self.statusWindow = [[UIWindow alloc] initWithFrame:CGRectMake(frame.origin.x, frame.origin.y, frame.size.width, 20)]; UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation]; CGRect frame = [UIApplication sharedApplication].statusBarFrame; CGAffineTransform test = [self transformForOrientation:orientation]; [self.statusWindow setWindowLevel:UIWindowLevelStatusBar]; [self.statusWindow setHidden:NO]; – (CGAffineTransform)transformForOrientation:(UIInterfaceOrientation)orientation { switch (orientation) { case UIInterfaceOrientationLandscapeLeft: return CGAffineTransformMakeRotation(-DEGREES_TO_RADIANS(90.0f)); case UIInterfaceOrientationLandscapeRight: return CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(90.0f)); case UIInterfaceOrientationPortraitUpsideDown: […]

使用string作为名称来设置属性值

我在我的项目中有这些巨大的重复块代码,我试图缩小它们。 以这个例子为例: self.Day11.delegate = (id)self; self.Day12.delegate = (id)self; self.Day13.delegate = (id)self; self.Day14.delegate = (id)self; self.Day15.delegate = (id)self; self.Day16.delegate = (id)self; self.Day17.delegate = (id)self; self.Day18.delegate = (id)self; self.Day19.delegate = (id)self; 我想要做的是,我可以使用一个for循环或类似的东西把它缩小像这样: for (int i = 1 ; i<=9; i++) { NSString *var = [NSString stringWithFormat:@"Day1%d",i]; self.var.delegate = (id)self; } 我知道这是行不通的有没有一种可能的方式来做这样的事情?

为TableView中的所有单元格设置标签的正确方法

我正在使用一个tableView中的button,当我按下时,我得到的indexPath.row 。 但是,当单元格可以在屏幕上显示而不scroll时,它才能正常工作。 一旦tableView可以滚动,我滚动tableview, indexPath.row返回是一个错误的值,我注意到,最初设置20个对象,例如Check只是打印9次没有20。 – (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; lBtnWithAction = [[UIButton alloc] initWithFrame:CGRectMake(liLight1Xcord + 23, 10, liLight1Width + 5, liLight1Height + 25)]; lBtnWithAction.tag = ROW_BUTTON_ACTION; lBtnWithAction.titleLabel.font = luiFontCheckmark; lBtnWithAction.tintColor = [UIColor blackColor]; lBtnWithAction.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin; […]

调用ExtensionDelegate为复杂度创build/刷新数据

我所有的数据创build都在ExtensionDelegate.swift完成。 问题是ExtensionDelegate.swift不会在我的ComplicationController.swift函数getCurrentTimelineEntryForComplication之前被调用 。 有任何想法吗? 这里是我的代码和细节: 所以我的数组extEvnts在我的ComplicationController.swift是空的: func getCurrentTimelineEntryForComplication(complication: CLKComplication, withHandler handler: ((CLKComplicationTimelineEntry?) -> Void)) { let extEvnts = ExtensionDelegate.evnts } 因为我的ExtensionDelegate.swift还没有被调用,这是为数组创build的数据: class ExtensionDelegate: NSObject, WKExtensionDelegate, WCSessionDelegate { private let session = WCSession.defaultSession() var receivedData = Array<Dictionary<String, String>>() static var evnts = [Evnt]() func session(session: WCSession, didReceiveUserInfo userInfo: [String : AnyObject]) { if let tColorValue = […]

工作可靠的时间戳function只是导致EXC_BAD_INSTRUCTION

我一直在使用这个函数来生成一个时间戳。 我发现它在堆栈溢出的地方。 @objc public class var timestamp: String { return "\(Int(NSDate().timeIntervalSince1970 * 1000))" } 它一直没有问题,但我刚刚得到了一个EXC_BAD_INSTRUCTION: fatal error: floating point value cannot be converted to Int because it is greater than Int.max 随着这个应用程序的发展接近完成,它让我很紧张,突然看到它导致EXC_BAD_INSTRUCTION。 这是在模拟器中运行,但我有一个有效的date和时间设置。 任何想法或build议或不胜感激。 以下是回溯。 (lldb) bt * thread #1: tid = 0x15c4d, 0x04a30393 libswiftCore.dylib`function signature specialization <Arg[0] = Exploded, Arg[1] = Exploded, Arg[2] = […]

试图在Swift 2.0中设置UIDatePicker的时间

我试图设置UIDatePicker只想出时间。 DatePicker在按下文本框时通过一个操作来启动。 我没有使用DatePicker查看器。 任何帮助表示赞赏。 谢谢 let starttimedatePicker = UIDatePicker() startTimeDiveTextField.inputView = starttimedatePicker starttimedatePicker.addTarget(self, action: "startTimeDiveChanged:", forControlEvents: .ValueChanged) func startTimeDiveChanged(sender: UIDatePicker) { let formatter = NSDateFormatter() formatter.timeStyle = .ShortStyle startTimeDiveTextField.text = formatter.stringFromDate(sender.date) }

有没有办法从iOS设备访问制造商的数据

也许这个问题重复,但我的情况是不同于其他人。 我有一个自己的蓝牙套件。 当点击工具包上的button时,它会提供制造商的特定数据。 我从android获取制造商数据。 但我无法从ios应用程序访问。 我听广告数据如下: func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) { for (key,value) in advertisementData{ print("key:\(key) value:\(value)") } } 和日志结果: key:kCBAdvDataIsConnectable value:1 key:kCBAdvDataServiceUUIDs value:(1802) key:kCBAdvDataLocalName value: R009 顺便说一下,我尝试了CoreLocation API来查看我的设备。 func startScanBeacons() { let uuid = UUID(uuidString: "b9407f30-f5f8-466e-aff9-25556b57fe6d")! let beaconRegion = CLBeaconRegion(proximityUUID: uuid, identifier: "mybeacon") beaconRegion.notifyOnEntry […]

如何避免在iOS中使用Facebook SDK的“重复状态消息”错误?

我想在iOS应用程序中将多个相同的消息发布到我的提要/墙上。 从第二次尝试,我收到这个错误 – (#506)重复的状态消息。 我该如何解决?

在iOS中内置麦克风和耳机之间进行select

我们正在开发一个应用程序,需要改变iOS的audio路线。 我们需要从麦克风input中获取一些信息,然后切换到设备的内部麦克风以录制环境声音。 我们已经看到这些页面的2个主题: 强制iPhone麦克风作为audioinput和使用内置麦克风,如果耳机插入,但我想没有任何最后的话根据这种情况。 现在,代码工作,但我们可以selectaudioinput的路线。 我们在Apple提供的文档(Remote IO)中没有发现任何东西。 这有什么新东西吗? 谢谢!

访问cellForRowAtIndexPath之外的自定义单元格属性

我想要一些像下面的图片。 用户可以点击+或 – button,增加或减less的计数显示在UILabel中,即下图中的1。 我知道如何实现自定义表格视图单元格。我知道如何实现select器。 但我需要设置的标签文本按照那个button只是问题。 我怎样才能更新button单击并设置文本的自定义单元格的UILabel 从cellForRowAtIndexPath外添加减法function。 – (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { //self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; static NSString *simpleTableIdentifier = @"ProductListVIICell"; ProductListVIICell *cell = (ProductListVIICell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier]; if (cell == nil) { NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"ProductListVIICell" owner:self options:nil]; cell = [nib objectAtIndex:0]; } ……………………………… cell.btnMinus.tag = indexPath.row; cell.btnPlus.tag = indexPath.row; [cell.btnPlus […]