小编tyl*_*ler的帖子

对于依赖于已解决的内部布局的大小,正确实现intrinsicContentSize

我有一个似乎有效的解决方案,但我想确保它是安全的并按预期使用该工具.我可以将我的问题提炼到这种情况 - 我有一个包含多个垂直堆叠的UILabel的UIView.每个标签都可以填充任意文本,垂直包装和展开标签.在视图中堆叠标签的自动布局约束是微不足道的.我想做的是让UIView通过其所有者传达其首选高度(视图的高度应该适合所有标签)intrinsicContentSize.但是,在我返回适当的高度之前,需要先解决内部布局问题.我的理解是,在返回后[super layoutSubviews],求解器保证完整,这就是我正在做的事情:

- (void)layoutSubviews
{
    [super layoutSubviews];

    // solver's complete, now we can measure?
    [self invalidateIntrinsicContentSize];
}
Run Code Online (Sandbox Code Playgroud)

我的intrinsicContentSize实现是指最后一个标签的框架来计算高度.这一切似乎都适用于我目前的情况,但它让我感到紧张.似乎解算器在布局其内部时要求当前视图的intrinsicContentSize.我不会详细介绍,但我遇到了一个案例,其中这种模式转变为无限循环.通过调整我的一些布局代码,我能够解决这个问题 - 这并没有激发人们的信心.

有一个更好的方法吗?这似乎是一个常见的事情,当我开始研究这个问题时,我认为这就是intrinsicContentSize的用途.我所见过的intrinsicContentSize的实现总是微不足道的 - 维度的硬编码大小,或者测量不依赖于已解决的内部布局的单个视图.

注意,我不能仅通过NSString sizeWith...方法测量标签,因为内部布局太复杂.

注意,我探索了使用systemLayoutSizeFittingSize:,但是从intrinsicContentSize调用它会导致无限循环.

任何回应将不胜感激!提前致谢!

layout uiview uilabel ios autolayout

14
推荐指数
1
解决办法
1711
查看次数

设置推送通知的标题?

是否可以设置推送通知的标题?看起来我所谓的通知标题只是关联应用程序的名称.我没有在文档中看到任何提及设置此值的方法.在iOS5通知下拉视图中,电子邮件显示为发件人姓名和主题作为标题.这是可能的,还是操作系统以特殊方式呈现电子邮件通知?

push-notification apple-push-notifications ios

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

将多部分表单数据发布到seam + RESTeasy会导致无法编组到InputStream

我正在尝试将图像数据发布到seam + RESTeasy端点,我在JBoss启动期间遇到了一个非常神秘的错误.我发送的HTTP请求有一个内容类型的multipart/form-data,它有一个名为"attachment"的图像/ jpeg部分.我的服务方法如下所示:

@POST
@Path("uploadSymptomsImage/{appointmentGUID}")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces("application/json")
public String uploadSymptomsImage( @FormParam("attachment") InputStream fileInputStream,
                                   @PathParam("appointmentGUID") String strAppointmentGUID )
{ ...
Run Code Online (Sandbox Code Playgroud)

我得到的错误是在启动期间:

Caused by: java.lang.RuntimeException: Unable to find a constructor that takes a String param or a valueOf() or fromString() method for javax.ws.rs.FormParam("attachment") on public java.lang.String com....AppointmentRestService.uploadSymptomsImage(java.io.InputStream,java.lang.String) for basetype: java.io.InputStream
at org.jboss.resteasy.core.StringParameterInjector.initialize(StringParameterInjector.java:206) [:]
at org.jboss.resteasy.core.StringParameterInjector.<init>(StringParameterInjector.java:57) [:]
at org.jboss.resteasy.core.FormParamInjector.<init>(FormParamInjector.java:22) [:]
Run Code Online (Sandbox Code Playgroud)

我的理解是媒体类型可以自动编组到InputStream.我也尝试过java.io.File,java.io.Reader - 两者都有相同的错误.当我用byte []或String替换时,我得到一个零长度数组,或者作为参数值为null.

你会如何调试这个?此外,是否可以访问原始请求或预先编组的值?

这里的任何建议将不胜感激.

post jboss multipartform-data resteasy

5
推荐指数
1
解决办法
1825
查看次数

如何从ActionScript中具有相同名称的类引用Global类?

由于我无法控制的要求(不要问,这太荒谬了)我需要创建一个名为'Math'的AS3类,它引用Global AS Math类.所以,例如:

package my.package
{
    public class Math
    {
        public static function pow( a:Number, b:Number ):Number {
            // How do I call the Global.as$Math#pow(..) function?
            return Math.pow(a,b);  
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码显然是错误的 - 导致无限递归.我不知道怎么说我想委托给Global.as $ Math课而不是这个Math课......

我当前的尴尬解决方案是委托另一个传递给Global Math类的类(不是名为Math).有一个更好的方法吗?

谢谢!

apache-flex actionscript-3

0
推荐指数
1
解决办法
793
查看次数