ios怎么实现uiview的自适应高度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios怎么实现uiview的自适应高度相关的知识,希望对你有一定的参考价值。

参考技术A /** 举例:随内容大小自适应*/

//UILabel
UILabel *label = [UILabel new];
label.text = @"这是一段文本";
label.backgroundColor = [UIColor redColor];
[label sizeToFit];
label.center = CGPointMake(self.view.center.x, 40);
[self.view addSubView:label];

//UIImageView
UIImageView *imageView = [UIImageView new];
imageView.image = [UIImage imageNamed:@"图片名称"];
[imageView sizeToFit];
imageView.center = CGPointMake(self.view.center.x, 200);
[self.view addSubView:imageView];本回答被提问者采纳

收到推送通知且应用处于活动状态时的自定义 UIView iOS

【中文标题】收到推送通知且应用处于活动状态时的自定义 UIView iOS【英文标题】:Custom UIView when receive push notifications and the app is active iOS 【发布时间】:2014-08-18 14:32:16 【问题描述】:

我已经在应用程序中实现了推送通知,它们运行良好。

但现在我正在尝试弄清楚如何在您收到推送并且应用处于活动状态时实现自定义视图。

我想复制 Instagram 之类的东西,(见附图)

但我不明白怎么做,因为现在如果应用程序打开并且您收到推送,则应用程序默认显示警报,并带有通知文本。

我在didReceiveRemoteNotification 中的代码是:

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 

 ...

 else if (application.applicationState == UIApplicationStateActive) 

     NSString *text = [[userInfo objectForKey:@"aps"] objectForKey:@"alert"];
     NSLog(@"text remoteNot active = %@",text);

     NSString *custom = [[userInfo objectForKey:@"aps"] objectForKey:@"custom"];
     NSLog(@"custom remoteNot active = %@",custom);
  

所以我想知道即使不编写代码也能看到警报默认值是否是一种标准行为。而且我也知道如何避免默认显示警报,并显示自定义警报。

【问题讨论】:

您是否使用第三方库来处理推送通知?因为默认情况下,当您在前台收到推送通知时没有 alertView @arturdev 好的,我使用 pushwoosh,但我发送的推送通知也没有 pushwoosh.. 可能在任何情况下 pushwoosh 都会干扰通知? 尝试在该方法中评论除 NSLogs 之外的所有内容,并发送推送。在这种情况下会发生什么? @arturdev 感谢您的建议,收到推送通知时会显示警报是 pushwoosh,我不认为因为我没有实现此服务的任何委托方法,谢谢您给我在正确的方向;) 【参考方案1】:

不,如果你的操作正确,iOS 不会显示当前活动应用的通知。

我想你已经有了

[application registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];

你检查过

- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken

被正确调用。

请注意,有一个新版本的远程通知处理程序:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler;

如果您定义了那个,则不会调用“旧”的。

您确定将通知发送到“正确”的应用吗?在开发中很容易混淆...

【讨论】:

感谢您的回答,通知效果很好,我确定,请参阅上面的评论 显然它工作得不是很好,这就是你问题的重点......所以要么你把它发送到错误的应用程序(仔细检查application:didRegisterForRemoteNotificationsWithDeviceToken: 确实返回了你的令牌using),或者它没有在您的应用中通过正确的代码。 这是 pushwoosh 在收到推送通知时显示警报,我不这么认为,因为我没有实现此服务的任何委托方法,感谢您的时间

以上是关于ios怎么实现uiview的自适应高度的主要内容,如果未能解决你的问题,请参考以下文章

UIView如何优雅的自适应布局(Masonry)

HTML/CSS的自适应高度问题。 我觉得宽度问题可以设置为100%,但是高度问题如何解决就是个悲剧了。

Iframe的代码怎么写才能满足我的自适应内容的高度的要求啊?

CSS 的设置 div子节点怎么自适应 父节点的高度呢 父节点没有设置高度值的

iOS小技能:UICollectionView的自适应案例详解:(商品详情页)文中包含完整demo源码

CSS控制,子div的高度自适应父div的高度