小编klc*_*r89的帖子

如何在UISearchBar TextField周围添加1像素灰色边框

我试图弄清楚如何在我的应用程序中为我的UISearchBar添加1像素笔触灰色边框.Facebook Messenger应用程序完成了这一点.(见下图).

我知道有的UISearchBar的背景图像属性,但我相信,这是不使用正确的事,因为它延伸出来的图像和整个搜索栏的整个视图重复它.

我非常感谢指向正确方向的指针.

在此输入图像描述

objective-c uiview uisearchbar ios ios7

12
推荐指数
2
解决办法
6924
查看次数

UIRefreshControl在UITableViewController中处于错误的位置

我在UIRefreshControl上看到了很多问题,而且我的UITableViewController也遇到了问题.问题是如此随机发生,从此我无法弄清楚为什么或如何发生.

问题是,有时当你向下滚动tableView时,UIRefreshControl出现在错误的位置,看起来像在tableView本身之上/之上.我附上了问题的截图,我的代码也用于添加UIRefreshControl和它的刷新方法.

我感谢任何提供的帮助!

在此输入图像描述

- (void)viewDidLoad
{
    self.refreshControl = [[UIRefreshControl alloc] init];

    [self.refreshControl addTarget:self action:@selector(refreshing:) forControlEvents:UIControlEventValueChanged];

    [self.tableView addSubview:self.refreshControl];

    self.tableView.tableFooterView = [[UIView alloc] init];
}

- (void)refreshing:(UIRefreshControl*)refreshControl
{
    [refreshControl beginRefreshing];

    [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;

    [refreshControl endRefreshing];

    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
 }
Run Code Online (Sandbox Code Playgroud)

objective-c uitableview ios uirefreshcontrol

11
推荐指数
2
解决办法
5941
查看次数

Photokit保留用户专辑列表顺序

有没有办法保留用户在照片应用中排列所有相册的列表顺序?我一直在努力解决这个问题,而且我似乎无法弄清楚我缺少什么来保留在我的应用程序中显示的顺序.

我想保留订单,因为用户可以在照片应用中重新排列他们的相册,所以我希望我的UI与列表顺序相匹配.

代码我用来设置列表:

PHFetchResult *smartAlbumFetchResult = [PHAssetCollection fetchAssetCollectionsWithType:
PHAssetCollectionTypeSmartAlbum subtype:PHAssetCollectionSubtypeAny options:nil];

PHFetchResult *albumFetchResult = [PHAssetCollection fetchAssetCollectionsWithType:
PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAny options:nil];

NSArray *collectionFetches = @[smartAlbumFetchResult, albumFetchResult];

NSMutableArray *albumArray = [NSMutableArray new];

for (PHFetchResult *newFetch in collectionFetches)
{
    for (PHAssetCollection *sub in newFetch)
    {
        [albumArray addObject:sub];
         // Other setup omitted
    }
}
Run Code Online (Sandbox Code Playgroud)

objective-c ios photosframework photokit

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

GPUImageMovie使用多个图像作为纹理和处理

我正在尝试使用几个GPUImagePictures作为纹理源以及片段着色器来过滤播放视频.

我能够以这种方式处理静止图像,但我似乎无法弄清楚我缺少什么才能让它工作,GPUImageMovie我很感激任何提供的帮助.

@property (nonatomic, strong) GPUImageView *gpuPlayerView;
@property (nonatomic, strong) GPUImageMovie *gpuMovie;

AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:self.video];

self.player = [AVPlayer playerWithPlayerItem:playerItem];

self.player.actionAtItemEnd = AVPlayerActionAtItemEndNone;

[self.player play];

self.gpuMovie = [[GPUImageMovie alloc]initWithPlayerItem:playerItem];

self.gpuMovie.playAtActualSpeed = YES;

GPUImagePicture *sourcePicture1 = [[GPUImagePicture alloc]initWithImage:
[UIImage imageNamed:@"FilterBG"]];

GPUImagePicture *sourcePicture2 = [[GPUImagePicture alloc]initWithImage:
[UIImage imageNamed:@"FilterOverlay"]];

GPUImagePicture *sourcePicture3 = [[GPUImagePicture alloc]initWithImage:
[UIImage imageNamed:@"Filter1Map"]];

GPUImageFilter *filter = [[GPUImageFourInputFilter alloc]initWithFragmentShaderFromString:
kFilter1ShaderString];

[self.gpuMovie addTarget:filter atTextureLocation:0];

if (sourcePicture1)
{
    [sourcePicture1 addTarget:filter atTextureLocation:1];
}

if (sourcePicture2)
{
    [sourcePicture2 addTarget:filter atTextureLocation:2]; …
Run Code Online (Sandbox Code Playgroud)

objective-c ios avplayer gpuimage

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

如何从CSS或JS将WebKit宏更改为false

用于加载Safari技术预览版26中异步引入的大型图像的新WebKit功能会导致基于mjpg-streamer网络摄像头的流闪烁,默认为true的布尔属性largeImageAsyncDecodingEnabled会导致此问题.链接到属性定义

我试图找到一种方法来使用CSS或JS在html页面上将此属性设置为false.这甚至可能吗?或者还有另一种方法吗?

这适用于为3D打印机服务器运行OctoPi的OctoPrint.我通过反复试验发现,任何超过453x453像素的图像都异步加载并导致闪烁发生; 它类似于恼人的闪光灯效果.我使用的分辨率为1280x720用于网络摄像头,技术预览26之前没有问题.

感谢您的帮助!

javascript css jquery webkit octoprint

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

UISlider最小和最大跟踪色调清晰iOS 7.1错误颜色

我似乎遇到了一个问题,即我没有在我的应用程序中使用iOS 7.0,它现在只出现在iOS 7.1上.我遇到的问题是,当我将最小和最大trackTintColor属性设置为清晰的颜色时,我现在只剩下我UISlider在iOS 7.0上没有出现的"神器"了.我试图遍历子图层或子视图以将此"工件"设置为清晰的颜色,但我似乎无法隐藏它.我在下面附上一个截图,上面有一个指向"神器"的箭头.

任何帮助是极大的赞赏!

在此输入图像描述

objective-c uislider ios ios7

7
推荐指数
1
解决办法
3842
查看次数

在UITableViewCell完全可见时播放视频

我有一个包含视频URL的数组,我想在UITableviewcell完全可见时播放这些视频.

我试过这个

- (void)scrollViewDidScroll:(UIScrollView *)aScrollView 
{
    NSArray* cells = homeTabl.visibleCells;

    for (HomeCell* cell in cells) 
    {
        if (cell.frame.origin.y > offset.y &&
        cell.frame.origin.y + cell.frame.size.height < offset.y + bounds.size.height)
        {
            NSIndexPath *path = [homeTabl indexPathForCell:cell] ;
            index = path.row;
            fullvisible = YES;
            [homeTabl reloadData];
        }
        else
        {
            fullvisible = NO;
        }
    }
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
     if (fullvisible) 
     {
          NSURL *url = [NSURL URLWithString:[[responsearray objectAtIndex:indexPath.row]valueForKey:@"feed_video"]];

          cell.videoItem = [AVPlayerItem playerItemWithURL:url];
          cell.videoPlayer = [AVPlayer playerWithPlayerItem:cell.videoItem];
          cell.avLayer = [AVPlayerLayer playerLayerWithPlayer:cell.videoPlayer]; …
Run Code Online (Sandbox Code Playgroud)

objective-c uitableview ios avplayer

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

PHFetchResult获取所有照片并按日期排序不一致

我正在尝试构建一个简单的照片选择器,它现在有两个选项:最近和收藏夹.我正在做的是尝试获取所有照片creationDate但是这会在我的数据源中以错误的顺序返回图像.多年前在数据源的开头有照片,而且不到几分钟的照片分散在各处.我认为问题是我需要首先告诉主要的fetchResult排序顺序,但我不认为这是可能的:Unsupported sort descriptor in fetch options: (creationDate, ascending, compare:

我很感激提供任何帮助.码:

@property (nonatomic, strong) NSMutableOrderedSet *recentsDataSource;
@property (nonatomic, strong) NSMutableOrderedSet *favoritesDataSource;

- (void)setup
{
    PHFetchResult *fetchResult = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum | PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAny options:nil];

    for (PHAssetCollection *sub in fetchResult)
    {
        PHFetchOptions *fetchOptions = [[PHFetchOptions alloc]init];

        fetchOptions.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:YES]];

        PHFetchResult *assetsInCollection = [PHAsset fetchAssetsInAssetCollection:sub options:fetchOptions];

        for (PHAsset *asset in assetsInCollection)
        {
            [self.recentsDataSource addObject:asset];

            if (asset.isFavorite)
            {
                [self.favoritesDataSource addObject:asset];
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

objective-c ios photosframework phphotolibrary phfetchoptions

7
推荐指数
1
解决办法
9075
查看次数

PHPhotoLibrary更改未调用的观察者

我似乎有一个随机的问题,我不知道为什么会发生.我似乎无法让photoLibraryDidChange:(PHChange *)changeInstance观察者调用它.我已经制作了几个空白项目并且都在展示这个问题,有时会在初始应用程序安装时调用更改观察器,但在我在照片应用程序中执行更改时从未调用过.我也重置模拟器无济于事.我很感激提供任何帮助.

码:

#import <UIKit/UIKit.h>
#import <Photos/Photos.h>

@interface ViewController : UIViewController <PHPhotoLibraryChangeObserver>

@end

- (void)viewDidLoad
{
    [super viewDidLoad];

    [PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status)
     {
         if (status == PHAuthorizationStatusAuthorized)
         {
             [PHPhotoLibrary.sharedPhotoLibrary registerChangeObserver:self];

              dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0),^
              {
                 [self setup];
              });
         }
     }];
}

- (void)setup
{
    PHFetchOptions *fetchOptions = [[PHFetchOptions alloc]init];

    fetchOptions.wantsIncrementalChangeDetails = YES;

    PHFetchResult *smartAlbumsFetchResult = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum subtype:PHAssetCollectionSubtypeAny options:fetchOptions];

    for (PHAssetCollection *sub in smartAlbumsFetchResult)
    {
        PHFetchResult *fetch = [PHAsset fetchAssetsInAssetCollection:sub options:fetchOptions];
    }
}

- (void)photoLibraryDidChange:(PHChange *)changeInstance
{
    NSLog(@"Not called");
}

- …
Run Code Online (Sandbox Code Playgroud)

objective-c ios photosframework phphotolibrary

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

UITableView'hidden'部分每次刷新时都会导致更多的内存分配

我在Code Review上发布了这个,但被告知它可能会更好地作为Stack Overflow问题,因此这篇帖子.

我有一个UITableView,当用户点击该部分的标题时,我正在"隐藏"一个部分.我认为这是我提出的一个非常酷的实现,但事实证明,当隐藏此部分并且用户进行刷新时,每次刷新时(刷新完成后)大约1-2MB被添加到内存中.如果未隐藏UITableView的部分并且它们进行刷新,则不会分配额外的内存(正确的方式/行为).我知道1-2 MB并不多,但总而言之.我在Profiler中找不到任何泄漏,所以这就是我来到这里的原因.

我可能会忽略某些东西或者我的逻辑存在缺陷,并且会感谢所提供的任何帮助.对不起,下面是冗长的代码:

更新:已解决的代码:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    switch (section)
    {
        case 0:
        {
            return [self friendRequests];
        }
        case 1:
        {
            return [self friends];
        }
        default:
        {
            if (self.showingBlockedUsers == YES)
            {
                return [self blockedUsers];
            }
            else
            {
                return 0;
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

来自原始问题的旧代码:

- (void)refreshing:(UIRefreshControl *)refreshControl
{
    [refreshControl beginRefreshing];
    [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://foobar.com/test.plist"]];
    request.cachePolicy = NSURLRequestReloadIgnoringLocalAndRemoteCacheData;
    request.timeoutInterval = 5.0;

    [NSURLConnection sendAsynchronousRequest:request
                                   queue:[NSOperationQueue mainQueue]
                       completionHandler:
     ^(NSURLResponse *response, NSData *data, …
Run Code Online (Sandbox Code Playgroud)

objective-c uitableview ios ios7

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