How to pass multiple enum values as a function parameter

后端 未结 8 1622
余生分开走
余生分开走 2020-11-29 10:04

How would I do the following - passing two NSStringDrawing options as a function parameter in swift:

CGRect boundingRect = [string boundingRectWithSize:CGSiz         


        
8条回答
  •  误落风尘
    2020-11-29 10:42

    Updated answer for Xcode 6.3:

    in Xcode 6.3 Beta (Swift 1.2) this is finally fixed, you can do it now like this:

    let boundingRect = "string".boundingRectWithSize(size, options: .UsesLineFragmentOrigin | .UsesFontLeading, attributes:nil, context:nil)
    

    For old version:

    It looks like a bug in current beta, for now I write Objective-C method and use it from Swift:

    + (NSStringDrawingOptions)combine:(NSStringDrawingOptions)option1 with:(NSStringDrawingOptions)option2
    {
        return option1 | option2;
    }
    

    and call form Swift:

    let boundingRect = "string".boundingRectWithSize(size, options: StringDrawingOptions.combine(.UsesLineFragmentOrigin, with: .UsesFontLeading), attributes:nil, context:nil)
    

提交回复
热议问题