小编Jig*_*iya的帖子

如何通过自动布局设置集合视图的单元格大小

嗨,我正试图通过改变细胞大小auto layout.

我想用3乘3显示单元格.

第一个Cell的边距= 0

最后一个单元格的边距= 0

并且所有小区的空间都是1pt.像一个instagram.

在此输入图像描述

在此输入图像描述

我应该设置为Cell的尺寸吗?我希望通过Autolayout设置约束.

我也尝试使用代码设置单元格的大小.

这是我的代码:

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
    return CGSizeMake(123, 123);
}

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAtIndex section: Int) -> CGFloat {
    return 1;
}

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAtIndex section: Int) -> CGFloat {
    return 1;
}
Run Code Online (Sandbox Code Playgroud)

但是......我认为它并不完全可以计算出细胞的大小.

如何根据屏幕尺寸设置单元格的大小?

我必须在单元格之间设置1pt的空间.

无论如何只能使用故事板设置?

如果没有,我如何设置代码?

谢谢.

uicollectionview uicollectionviewcell swift ios-autolayout

18
推荐指数
3
解决办法
4万
查看次数

应用程序委托中的Facebook和Twitter的OpenURL?

我使用Facebook SDK和Twitter SDK进行登录和注册.

但他们都没有从一种常见的方法打开网址.就像我为Facebook编写的代码如下,

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool
{
    if(url.scheme == "fb1651015905222312")
    {
        return FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation)
    }
    return true
}
Run Code Online (Sandbox Code Playgroud)

这工作正常,对于twitter我必须评论上面的方法,并且必须写它,像

 func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool {
    if Twitter.sharedInstance().application(app, openURL:url, options: options) {
        return true
    }
    return true
}
Run Code Online (Sandbox Code Playgroud)

这适用于Twitter.

问题是我需要编写一个常用方法来在appDelegate中打开他们的URL.那我怎么克服它?

提前致谢.

注意:我们不能在app delegate中编写这两种方法.

twitter facebook ios swift twitter-fabric

8
推荐指数
2
解决办法
8135
查看次数

为什么我将无法识别的选择器发送到课堂?

我一直在经历所有堆栈溢出试图解决这个问题,但没有一个解决方案有效.

class ToastView: UIView {

    static func showInParent(parentView: UIView!, withText text: String, forDuration duration: double_t) {

        //Count toast views are already showing on parent. Made to show several toasts one above another
        var toastsAlreadyInParent = 0;

        for view in parentView.subviews {
            if (view.isKindOfClass(ToastView)) {
                toastsAlreadyInParent++
            }
        }

        var parentFrame = parentView.frame;

        var yOrigin = parentFrame.size.height - getDouble(toastsAlreadyInParent)

        var selfFrame = CGRectMake(parentFrame.origin.x + 20.0, yOrigin, parentFrame.size.width - 40.0, toastHeight);
        var toast = ToastView(frame: selfFrame)

        toast.textLabel.backgroundColor = UIColor.clearColor()
        toast.textLabel.textAlignment = NSTextAlignment.Center
        toast.textLabel.textColor …
Run Code Online (Sandbox Code Playgroud)

ios unrecognized-selector swift

6
推荐指数
1
解决办法
7504
查看次数

将参数传递给使用UITapGestureRecognizer,UIImageView的和的UITableViewCell在斯威夫特一个选择

我需要确定image用户点击了一个TableCell.

如何通过TAG

class CustomCell: UITableViewCell {
@IBOutlet weak var imgPost1: UIImageView!

override func awakeFromNib() {
    super.awakeFromNib()
    // Initialization code
    imgPost1.tag=1
    let tap = UITapGestureRecognizer(target: self, action: #selector(CustomCell.tappedMe))
    imgPost1.addGestureRecognizer(tap)
    imgPost1.userInteractionEnabled = true
}
func tappedMe(xTag:Int) {
    print(xTag)
}

override func setSelected(selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)

    // Configure the view for the selected state
}
}
Run Code Online (Sandbox Code Playgroud)

uitableview uiimageview uitapgesturerecognizer swift swift2

4
推荐指数
1
解决办法
2444
查看次数

如何解决警告消息:将 'viewController const __strong 发送到不兼容类型 'id<nsurlsessiondelegate> 的参数

以下代码给出了警告:

将“viewController const __strong”发送到不兼容类型“id”的参数

这是我的代码:

- (void)postRequestWithParam: (NSDictionary *)param onCompletion: (CompletionHandler)completionHandler

{
NSError *error;


NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];

configuration.timeoutIntervalForRequest = 30.0;

NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration delegate:self delegateQueue:nil];



NSURL *url = [NSURL URLWithString: @"http://test.demo.net/demoapp/index.php"];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:60.0];

[request setHTTPMethod:@"POST"];

if(param == nil)

    param = [NSDictionary dictionary];


NSData *postData = [NSJSONSerialization dataWithJSONObject:param options:0 error:&error];

NSString *postLength = [NSString stringWithFormat:@"%lu", (unsigned long)[postData length]];


[request setValue:postLength forHTTPHeaderField:@"Content-Length"];

[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];


[request setHTTPBody:postData];


NSURLSessionDataTask *postDataTask = [session dataTaskWithRequest:request
                                                completionHandler:^(NSData …
Run Code Online (Sandbox Code Playgroud)

objective-c ios

3
推荐指数
1
解决办法
3476
查看次数

文本字段图标之前的填充

我找到了在开始之前以编程方式应用图标的方法textfield,但主要关心的是在图标之前应用填充。

因为它刚刚接触文本字段的边框。

我将其编程如下:

override func viewWillAppear(animated: Bool) {

    // Email Icon on left of email Text Field
    let imageView1 = UIImageView()
    let image1 = UIImage(named: "Message.png")
    imageView1.image = image1
    imageView1.frame = CGRectMake(100, 0, 10, 10)
    emailTextField.leftView = imageView1
    emailTextField.leftViewMode = UITextFieldViewMode.Always

    // Password Icon on left of pass Text Field
    let imageView2 = UIImageView()
    let image2 = UIImage(named: "Lock.png")
    imageView2.image = image2
    imageView2.frame = CGRectMake(100, 0, 10, 10)
    passwordTextField.leftView = imageView2
    passwordTextField.leftViewMode = UITextFieldViewMode.Always

}
Run Code Online (Sandbox Code Playgroud)

但边框和图标之间的空间非常小。

有什么办法可以在它们之间做填充吗?

如果有什么办法请告诉我。

padding textfield ios swift swift2

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

Swift AppDelegate应用程序:didFinishLaunchingWithOptions错误

这是我的代码:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    return true
}
Run Code Online (Sandbox Code Playgroud)

我正在阅读适用local push notifications于我的iOS应用程序的教程,该函数出现了很多,但是在我的项目中实施该函数时,出现此错误:

重新声明了'application(_:didFinishLaunchingWithOptions :)'

我的问题是为什么我会收到此错误?用它替换的正确函数是什么?

我读了其中的文档,Xcode它告诉我们函数存在,这就是为什么我感到困惑。

uiapplication ios appdelegate swift

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

实时播放列表,#EXT-X-TARGETDURATION 和 #EXTINF 必须相等吗?

我有这个 m3u8 文件。#EXT-X-TARGETDURATION为8,第一段#EXTINF为6,当avplayer切换到这个m3u8时,报错如下。

错误域=CoreMediaErrorDomain 代码=-12312 \“媒体输入时间值与 MEDIA-SEQUENCE 477000 的先前播放列表不匹配:8.000000 vs 6.000000\” UserInfo={NSDescription=媒体输入时间值与 MEDIA-SEQUENCE 的先前播放列表不匹配:47700 8.000000 对 6.000000}”

 #EXTM3U
 #EXT-X-MEDIA-SEQUENCE:477000
#EXT-X-ALLOW-CACHE:NO
    #EXT-X-VERSION:2
    #EXT-X-FAXS-CM:URI="xxxxxxxx"
    #EXT-X-KEY:METHOD=xxxxxxx
    #EXT-X-TARGETDURATION:8
    #EXTINF:6,
    477000.ts
    #EXTINF:8,
    477001.ts
    #EXTINF:8,
    477002.ts
    #EXTINF:8,
    477003.ts
    #EXTINF:8,
    477004.ts
    #EXTINF:8,
    477005.ts
    #EXTINF:8,
    477006.ts
Run Code Online (Sandbox Code Playgroud)

问题是在实时播放列表中,每个片段的#EXT-X-TARGETDURATION 和#EXTINF 是否必须相等?!我找不到来自 Apple 的任何文件来定义此规则。在本文档中,https://developer.apple.com/library/ios/technotes/tn2288/_index.html
Lie Playlist 示例,它们都是相同的。

http-live-streaming ios avplayer

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