RoomManageDemo農(nóng)家樂房間管理

效果圖:


Untitled.gif

農(nóng)家樂房間管理 ,方便農(nóng)家樂主人管理自己的房間.

上部是日期顯示 (以當前日期為開始往后 60天)

左側(cè)是 房間號 ,

可以上下,左右滑動,方便管理農(nóng)家樂的預定情況.

點擊彈出框 我就偷懶了,哈哈

主要控件: UIScrollView 和 CollectionView

主要代碼

QTSelectCollectionView

 @protocol QTSelectCollectionViewDelegate <NSObject>
 @optional
 @protocol QTSelectCollectionViewDelegate <NSObject>
 @optional
 /// 監(jiān)聽dateCollectionView的滾動位移
 - (void)selectCollectionView:(QTSelectCollectionView *)collectionView DidScrollWithContentOffset:(CGPoint)contentOffset;
 // 監(jiān)聽選中某個cell
 - (void)selectCollectionView:(QTSelectCollectionView *)collectionView didSelectItemAtIndex:(NSInteger)index;

 @end

 @interface QTSelectCollectionView : UICollectionView

 /// 所有被選中cell的索引
 @property (nonatomic,strong) NSMutableArray *SelectedCellIndexs;
 /// 所有被選中cell的訂單Id
 @property (nonatomic,strong) NSMutableArray *SelectedCellAccountingIds;

 /// cell的大小
 @property (nonatomic,assign) CGSize itemSize;

 //**代理/
 @property (nonatomic, weak)id<QTSelectCollectionViewDelegate> SelectColDelegate;

QTDateCollectionView

  @class QTDate,QTDateCollectionView;

 @protocol QTDateCollectionViewDelegate <NSObject>
  @optional

  /// 監(jiān)聽的滾動位移
  - (void)dateCollectionView:(QTDateCollectionView *)collectionView DidScrollWithContentOffset:(CGPoint)contentOffset;

    @end

 @interface QTDateCollectionView : UICollectionView

  /// cell的大小
  @property (nonatomic,assign) CGSize itemSize;

 //**代理*/
 @property (nonatomic, weak) id<QTDateCollectionViewDelegate> dateDelegate;
 @end

控制器

   #pragma mark 準備UI
 - (void)prepareUI {
 //1,添加子控件
 [self.view addSubview:self.roomNoView];
 [self.view addSubview:self.totalNoView];
 [self.view addSubview:self.dateCollectionView];
 [self.view addSubview:self.backScrollView];

 // 2.設(shè)置frame
 // 設(shè)置roomNoView沙绝、totalNoView
 CGFloat viewY = 0;
 self.roomNoView.frame = CGRectMake(0, viewY, viewWidth*2, viewHeight*heightMultiple*0.5);
 self.totalNoView.frame = CGRectMake(0, viewY + viewHeight * heightMultiple * 0.5, viewWidth*2,   viewHeight*heightMultiple*0.5);
 // 設(shè)置collectionViewW
 self.dateCollectionView.frame = CGRectMake(viewWidth * 2, 0, collectionViewW, viewHeight*heightMultiple);
 itemW = (collectionViewW - 4)*0.2;
 self.dateCollectionView.itemSize = CGSizeMake(itemW, viewHeight*heightMultiple);


 CGFloat scrollViewY = CGRectGetMaxY(self.dateCollectionView.frame);
 CGFloat scrollViewH = HEIGHT - scrollViewY-64 ;
 self.backScrollView.frame = CGRectMake(0, scrollViewY, WIDTH , scrollViewH);
 self.selectCollectionView.frame = CGRectMake(0, 0, collectionViewW, scrollViewH);

 }

創(chuàng)建小cell

  // 添加日期選項
 - (void)addSelectCollectionView {
 // 創(chuàng)建selectCollectionView
 self.selectCollectionView = [[QTSelectCollectionView alloc]init];
 // 指定代理
 self.selectCollectionView.SelectColDelegate = self;
 // 取消顯示水平滾動指示器
 self.selectCollectionView.showsHorizontalScrollIndicator = NO;
 // 1. 添加子控件
 [self.backScrollView addSubview:self.selectCollectionView];
 // 2. 設(shè)置frame
 CGFloat selectColX = CGRectGetMaxX(self.roomView.frame);
 CGFloat selectColY = self.roomView.frame.origin.y;
 CGFloat selectColW = self.roomView.height;
 self.selectCollectionView.frame = CGRectMake(selectColX, selectColY, collectionViewW, selectColW);

 self.selectCollectionView.itemSize = CGSizeMake(itemW, viewHeight);
 // 添加到數(shù)組中
 [self.selectCollectionViewArr addObject:self.selectCollectionView];
 }

監(jiān)聽事件

  #pragma mark - ZLTDateCollectionViewDelegate方法
 /// 根據(jù)dateCollectionView的滾動症昏,使選項selectCollectionVie同步滾動
 - (void)dateCollectionView:(QTDateCollectionView *)collectionView DidScrollWithContentOffset:(CGPoint)contentOffset
  {
     self.currentContentOffset = contentOffset;
     // 調(diào)用監(jiān)聽collectionView滾動的方法
     [self collectionViewDidScrollWithContentOffset:contentOffset];
         // 便利數(shù)組
      for (QTSelectCollectionView *selectCollectionView in self.selectCollectionViewArr) {
       selectCollectionView.contentOffset = contentOffset;
     }
 }
 

 #pragma mark - ZLTSelectCollectionViewDelegate方法
 /// 根據(jù)selectCollectionVie的滾動袜刷,使顯示日期的dateCollectionView同步滾動
 - (void)selectCollectionView:(QTSelectCollectionView *)collectionView DidScrollWithContentOffset:(CGPoint)contentOffset
 {
      self.dateCollectionView.contentOffset = contentOffset;
     // 調(diào)用監(jiān)聽collectionView滾動的方法
     [self collectionViewDidScrollWithContentOffset:contentOffset];
 }

時間處理

  /// 獲取分割后的當前日期谤牡,形式"yyyy","MM","dd" WithIndex:(NSUInteger)index
 - (NSArray *)getDate{

  NSDate *date = [NSDate dateWithTimeIntervalSinceNow:60*60*24*self.index];
  //    NSLog(@"--index:%zd",self.index);
 NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
 formatter.dateFormat  = @"yyyy-MM-dd";
 //    formatter.dateFormat =  [date getDayOfWeekShortString];
 NSString *dateStr = [formatter stringFromDate:date];
 //    NSLog(@"%@",dateStr);
 return [dateStr componentsSeparatedByString:@"-"];
 }

/// 獲取當前周幾

- (NSString *)getWeekday
{
NSDateComponents *_comps = [[NSDateComponents alloc] init];
[_comps setDay:[[self getDay] integerValue]];
NSString *monthStr = [self getDate][1];
[_comps setMonth:[monthStr integerValue]];
[_comps setYear:[[self getYear] integerValue]];

NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSDate *_date = [gregorian dateFromComponents:_comps];
NSDateComponents *weekdayComponents = [gregorian components:NSCalendarUnitWeekday fromDate:_date];
NSInteger _weekday = [weekdayComponents weekday]-1; // 此處結(jié)果多了一天,減1丙曙,得到當前是周幾}

// 轉(zhuǎn)為字符串
NSString *weekdayStr = nil;
//    NSLog(@"_weekday:%zd",_weekday);
switch (_weekday) {
    case 1:
        weekdayStr = @"周一";
        break;
    case 2:
        weekdayStr = @"周二";
        break;
    case 3:
        weekdayStr = @"周三";
        break;
    case 4:
        weekdayStr = @"周四";
        break;
    case 5:
        weekdayStr = @"周五";
        break;
    case 6:
        weekdayStr = @"周六";
        break;
    case 0:
        weekdayStr = @"周日";
        break;
}
//     NSLog(@"_weekday::%@",weekdayStr);
return weekdayStr;
}

如以上有不合適的地方,歡迎大神指點..

github :https://github.com/zhaoquntao/RoomManage.git

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末爸业,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子亏镰,更是在濱河造成了極大的恐慌扯旷,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件索抓,死亡現(xiàn)場離奇詭異钧忽,居然都是意外死亡,警方通過查閱死者的電腦和手機逼肯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門耸黑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人篮幢,你說我怎么就攤上這事大刊。” “怎么了三椿?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵缺菌,是天一觀的道長葫辐。 經(jīng)常有香客問我,道長伴郁,這世上最難降的妖魔是什么耿战? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮焊傅,結(jié)果婚禮上剂陡,老公的妹妹穿的比我還像新娘。我一直安慰自己狐胎,他們只是感情好鸭栖,可當我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著顽爹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪骆姐。 梳的紋絲不亂的頭發(fā)上镜粤,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天,我揣著相機與錄音玻褪,去河邊找鬼肉渴。 笑死,一個胖子當著我的面吹牛带射,可吹牛的內(nèi)容都是我干的同规。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼窟社,長吁一口氣:“原來是場噩夢啊……” “哼券勺!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起灿里,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤关炼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后匣吊,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體儒拂,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年色鸳,在試婚紗的時候發(fā)現(xiàn)自己被綠了社痛。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡命雀,死狀恐怖蒜哀,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情吏砂,我是刑警寧澤凡怎,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布校焦,位于F島的核電站,受9級特大地震影響统倒,放射性物質(zhì)發(fā)生泄漏寨典。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一房匆、第九天 我趴在偏房一處隱蔽的房頂上張望耸成。 院中可真熱鬧,春花似錦浴鸿、人聲如沸井氢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽花竞。三九已至,卻和暖如春掸哑,著一層夾襖步出監(jiān)牢的瞬間约急,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工苗分, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留厌蔽,地道東北人。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓摔癣,卻偏偏與公主長得像奴饮,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子择浊,可洞房花燭夜當晚...
    茶點故事閱讀 43,527評論 2 349

推薦閱讀更多精彩內(nèi)容