创建自定义MCBrowserViewController

4 iphone objective-c uitableview ios7 multipeer-connectivity

有没有办法创建一个UITableView住房相同的信息MCBrowserViewController?我当前的代码只允许推送与我的app不在同一设计中的标准视图:

self.browserVC = [[MCBrowserViewController alloc] initWithServiceType:@"chat" session:self.mySession];
[self presentViewController:self.browserVC animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?提前致谢!

Yaz*_*zid 11

  1. 将View Controller设置为MCNearbyServiceBrowserMCSession(即<MCNearbyServiceBrowserDelegate, MCSessionDelegate>)的委托
  2. 为你的MCNearbyServiceBrowser(和MCSession)创建一个属性
  3. viewDidLoad视图控制器的(或适合您的模式的触发器)中:

    _myPeerID = [[MCPeerID alloc] initWithDisplayName:[UIDevice currentDevice].name];
    _mySession = [[MCSession alloc] initWithPeer:_myPeerID];
    [_mySession setDelegate:self];
    _browser = [[MCNearbyServiceBrowser alloc]initWithPeer:_myPeerID serviceType:@"connectme"];
    [_browser setDelegate:self];
    [_browser startBrowsingForPeers];
    
    Run Code Online (Sandbox Code Playgroud)
  4. 实现- (void)browser:(MCNearbyServiceBrowser *)browser foundPeer:(MCPeerID *)peerID withDiscoveryInfo:(NSDictionary *)info方法如下:

    1. 将每个找到的对等体添加到数组中以获取数据源UITableView.通常你会得到peerID.displayName.
    2. 打电话[tableView reloadData].

  • WWDC 2013年会议名为"具有多种连接的附近网络",在演讲的"高级"部分讨论了这一点.它还描述了您需要在各种委托方法中执行的操作. (2认同)