小编Jam*_*lor的帖子

如何使用UICollectionViewLayout以编程方式在UICollectionView上添加标头

我有一个UICollectionView在我的viewcontroller.我的集合视图使用UICollectionViewLayout(custom)的子类来布局单元格.首先,一旦我在Storyboard的下拉列表中选择Layout as Custom,选择补充视图的选项就会消失.

我尝试以编程方式执行此操作,如下所示,但没有调用任何委托方法.

- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
{
    if (kind == UICollectionElementKindSectionHeader) {

        UICollectionReusableView *reusableview = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"HeaderView" forIndexPath:indexPath];

        if (reusableview==nil) {
            reusableview=[[UICollectionReusableView alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
          }

        UILabel *label=[[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
        label.text=[NSString stringWithFormat:@"Recipe Group #%li", indexPath.section + 1];
        [reusableview addSubview:label];
        return reusableview;
      }
    return nil;
  }

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout referenceSizeForFooterInSection:(NSInteger)section {
    CGSize headerSize = CGSizeMake(320, 44);
    return headerSize;
  }
Run Code Online (Sandbox Code Playgroud)

在我的viewDidLoad方法中我有

[self.collectionView registerClass:[UICollectionReusableView …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch ios

23
推荐指数
3
解决办法
5万
查看次数

我可以从XCAssets包中获得NSURL吗?

我正处于一个列出邮件附件的情况.每个附件都有一个与之关联的NSURL,表示附件数据的路径.在非图像附件的情况下,我想在预览的位置加载预先生成的图标缩略图(即excel文档,PDF,单词等).

我目前在我的项目中,在XCAssets包中有这些图像.我可以使用他们[UIImage imageNamed:@"someName"].我似乎无法通过NSBundle的各种资源查找方法来获取它们.XCAssets捆绑是否会以某种方式更改我正在寻找的图标图像的文件名?

这是我正在使用的代码.路径每次都是零.在这种情况下,我是否需要不使用XCAssets?

+ (NSURL *)mediaURLWithMessage:(SRMediaMessage*)message
{
  NSURL *url = message.mediaURL;

  // if this is an image URL or non-existant, there is no work left to do, return it.
  if (!url || (message.secureFile.secureFileMimeType & SRSecureFileMimeTypeImage))
    return url;

  NSString *filename = @"unknown";

  switch (message.secureFile.secureFileMimeType)
  {
    case SRSecureFileMimeTypeDOC:
      filename = @"doc";
      break;

    case SRSecureFileMimeTypePPT:
      filename = @"ppt";
      break;

    case SRSecureFileMimeTypePDF:
      filename = @"pdf";
      break;

    case SRSecureFileMimeTypeXLS:
      filename = @"exl";
      break;

    case SRSecureFileMimeTypeCSV:
      filename = @"csv";
      break;

    case SRSecureFileMimeTypeTXT:
      filename …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c ios

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

以编程方式更改UIPageViewController的页面不会更新UIPageControl

在我的自定义UIPageViewController类中:

- (id)initWithCoder:(NSCoder *)aDecoder
{
    self = [super initWithCoder:aDecoder];
    if (self) {
        self.model = [[BSTCMWelcomingPageViewModel alloc] init];
        self.dataSource = self.model;
        self.delegate = self;

        self.pageControl = [UIPageControl appearance];
        self.pageControl.pageIndicatorTintColor = [UIColor lightGrayColor];
        self.pageControl.currentPageIndicatorTintColor = [UIColor blackColor];
    }
    return self;
}
Run Code Online (Sandbox Code Playgroud)

然后我以编程方式设置ViewController按下按钮时的当前值:

- (void)scrollToNext
{
    UIViewController *current = self.viewControllers[0];
    NSInteger currentIndex = [self.model indexForViewController:current];
    UIViewController *nextController = [self.model viewControllerForIndex:++currentIndex];
    if (nextController) {
        NSArray *viewControllers = @[nextController];
        // This changes the View Controller, but PageControl doesn't update
        [self setViewControllers:viewControllers …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch ios

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

Xcode关闭控制台输出中与自动布局相关的警告

Xcode显示了对不可满足的自动布局约束的冗长警告.因此很难从控制台中找到其他异常.有没有办法在Xcode中禁用与自动布局相关的警告?

macos xcode objective-c ios

15
推荐指数
3
解决办法
2349
查看次数

Erlang读stdin写stdout

我正试图通过面试街学习二郎.我现在只是学习这门语言所以我什么都不知道.我想知道如何从stdin读取并写入stdout.

我想写一个写"Hello World!"的简单程序.stdin收到的次数.

所以用stdin输入:

6
Run Code Online (Sandbox Code Playgroud)

写到标准输出:

Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Run Code Online (Sandbox Code Playgroud)

理想情况下,我会一次读取stdin一行(即使在这种情况下它只是一位数)所以我想我将使用get_line.这就是我现在所知道的.

谢谢

谢谢

erlang stdin stdout getline

13
推荐指数
1
解决办法
7985
查看次数

无法在Web服务器上启动调试.无法连接到网络服务器

我在Windows 7 x32上运行Visual Studio 2008,IIS 7.5.我能够在IIS 7.5中运行ASP.NET网站而无需调试,但是当我按F5进行调试时,我得到:

无法在Web服务器上启动调试.无法连接到网络服务器.验证Web服务器是否正在运行,并且防火墙未阻止传入的http请求.

.net asp.net visual-studio-2008 iis-7.5 visual-studio-debugging

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

检测两个浏览器窗口是否对同一站点开放

我正在尝试检测用户是否在一个选项卡中打开了我的网站,然后在另一个选项卡中打开它.然后,这应该在新打开的选项卡上向用户显示警告.

现在我每秒都会向服务器发送一个"保持活跃"的ajax调用.然后,这将使用唯一ID在数据库中记录"上次活动"时间.加载新页面时,它会检查该用户(由userID标识)是否在最近2秒内处于活动状态.

这感觉非常低效.当用户刷新页面时,它也不能很好地执行.(只需不到2秒钟).我做了2秒的检查比keepalive调用更长,以允许更慢的连接.

问)我是以正确的方式进行这种方式还是有更简单的方法来做到这一点?我听说Gmail和Facebook可能会做类似的事情,但我找不到他们这样做的网站功能.


实际代码使用了许多内部函数,所以这里是一般的想法:

伪代码:

Page load;
[index] PHP: Save tabsessionid, userid, datecreated, lastactive, phpsessionid into database;
[index] JS: Every second, send tabsessionid to keepalive.php
[keepalive] PHP: Check if another session exists in the last 2 seconds
[keepalive] PHP:        If exists -> Return "-1"; else -> return "1";
[keepalive] PHP: Update tabsessionid's last active time.
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一些解决方案,但警告新的选项卡,而不是较旧的选项卡似乎是在减少延迟/时间方面的棘手部分.

javascript php ajax jquery

10
推荐指数
1
解决办法
3226
查看次数

Jquery:不推荐使用属性的指定属性.它总是返回true

我有选择元素的集合,当我第一次更改一个选择元素的值时,此功能不起作用,它第二次更改值时工作,在控制台中我有 这个

jQuery代码:

$(document).ready(function () {
    var collection = $('select.ddlJ');
    console.log(collection);
    for (var element in collection) {
        $(element).change(function () {

            $('select.ddlJ').change(function (e) {
                $(this).parent().parent().find('td:last').prev().find('span').html(
                    $(this).parent().parent().find('select.ddlJ').filter(function () {
                        return $.trim($(this).val()) == 'm';
                    }).length);

                $(this).parent().parent().find('td:last span').html(
                $(this).parent().parent().find('select.ddlJ').filter(function () {
                    return $.trim($(this).val()) == 'n'; }).length);
            });
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

HTML代码:

<table cellspacing="0" border="1" style="border-collapse:collapse;" id="grid1"
   rules="all">
        <tbody><tr>
 <th scope="col">Nr de ord</th>
 <th scope="col">StudentId</th>
 <th scope="col">Name LName</th>

 <th scope="col">
      <span id="mondayText">monday<br></span>
      <span id="monday">14.05.2012</span>
  </th>
<th scope="col">
     <span id="thuesdayText">thuesday<br></span>
     <span id="thuesday">15.05.2012</span>
</th>
<th scope="col">
     <span id="wednesdayText">wednesday<br></span> …
Run Code Online (Sandbox Code Playgroud)

javascript jquery onchange

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

Notepad ++下划线标签

Notepad ++似乎是标签,包括打开和关闭标签,但到目前为止我只找到了它的一个实例,任何人都知道是什么导致它?

记事本++讨厌我

notepad++

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

org.apache.cordova.api不存在.PhoneGap 3.0

我正在尝试将VideoPlayer插件(https://github.com/macdonst/VideoPlayer)添加到我的phonegap Android应用程序中.

在编译时遇到问题:

VideoPlayer.java:25: error: package org.apache.cordova.api does not exist"
Run Code Online (Sandbox Code Playgroud)

第25行:

import org.apache.cordova.api.CordovaPlugin;
Run Code Online (Sandbox Code Playgroud)

android cordova

7
推荐指数
2
解决办法
6050
查看次数