Notes![what is notes.io? What is notes.io?](/theme/images/whatisnotesio.png)
![]() ![]() Notes - notes.io |
// ViewController.m
// _UITableViewDeleting
//
// Created by STU 26 on 3/6/17.
// Copyright (c) 2017 STU 26. All rights reserved.
//
#import "ViewController.h"
#import <AVFoundation/AVFoundation.h>
static NSString *CellIdentifier=@"MyCells";
@interface ViewController ()<UITableViewDataSource,UITableViewDelegate,AVAudioPlayerDelegate>
@property (nonatomic,strong) UITableView *myTableView;
@property (nonatomic,strong) NSMutableArray *muzikler;
@property (nonatomic,strong) NSString *calanMuzik;
@property (nonatomic,strong) AVAudioPlayer *audioPlayer;
@end
@implementation ViewController
-(void) audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag{
if ([player isEqual:self.audioPlayer]) {
self.audioPlayer=nil;
} else {
/* */
}
}
- (void)viewDidLoad {
[super viewDidLoad];
self.myTableView=[[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain];
self.myTableView.dataSource=self;
self.myTableView.delegate=self;
self.muzikler=[[NSMutableArray alloc] initWithObjects:@"Sıla İnşallah",@"Öykü Hiç hiç hiç", nil ];
[self.myTableView registerClass:[UITableViewCell class] forCellReuseIdentifier:CellIdentifier];
[self.view addSubview:self.myTableView];
}
-(NSInteger) numberOfSectionsInTableView:(UITableView *)tableView{
return 1;
}
-(NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return [self.muzikler count];
}
-(UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
cell.textLabel.text=[NSString stringWithFormat:@"%@",self.muzikler[(long)indexPath.row]];
UIButton *button=[UIButton buttonWithType:UIButtonTypeSystem];
button.frame=CGRectMake(0.0f, 0.0f, 150.0f, 25.0f);
[button setTitle:@">" forState:UIControlStateNormal];
cell.accessoryView=button;
[button addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
return cell;
}
-(void) buttonClicked:(UIButton *) paramSender{
__unused UITableViewCell *cell=(UITableViewCell *)[self superviewOfType:[UITableViewCell class] forView:paramSender];
_calanMuzik=cell.textLabel.text;
if(paramSender.titleLabel.text == @">")
{
dispatch_queue_t dispatchQueue=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0);
dispatch_async(dispatchQueue, ^(void){
NSBundle *mainBundle=[NSBundle mainBundle];
NSString *filePath=[mainBundle pathForResource:cell.textLabel.text ofType:@"mp3"];
NSData *fileData=[NSData dataWithContentsOfFile:filePath];
NSError *error=nil;
self.audioPlayer=[[AVAudioPlayer alloc] initWithData:fileData error:&error];
if (self.audioPlayer!=nil) {
self.audioPlayer.delegate=self;
if ([self.audioPlayer prepareToPlay] && [self.audioPlayer play]) {
/* İşlem başarılı */
} else {
/* İşlem başarısız */
}
} else {
/* Hata */
}
[self.audioPlayer play];
});
[paramSender setTitle:@"ıı" forState:UIControlStateNormal];
}
else if(paramSender.titleLabel.text== @"ıı"){
[paramSender setTitle:@">" forState:UIControlStateNormal];
[self.audioPlayer pause];
}
NSLog(@"%@",cell.textLabel.text);
}
-(UIView *) superviewOfType:(Class) paramSuperviewClass forView:(UIView *) paramView{
if (paramView.superview!=nil) {
if ([paramView.superview isKindOfClass:paramSuperviewClass]) {
return paramView.superview;
} else {
return [self superviewOfType:paramSuperviewClass forView:paramView.superview];
}
}
return nil;
}
-(UITableViewCellEditingStyle) tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
return UITableViewCellEditingStyleDelete;
}
-(void) setEditing:(BOOL)editing animated:(BOOL)animated{
[super setEditing:editing animated:animated];
[self.myTableView setEditing:editing animated:animated];
}
-(void) tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{
if (editingStyle==UITableViewCellEditingStyleDelete) {
[self.muzikler removeObjectAtIndex:indexPath.row];
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationLeft];
}
}
-(UILabel *) newLabelWithTitle:(NSString *) paramTitle{
UILabel *label=[[UILabel alloc] initWithFrame:CGRectZero];
label.text=paramTitle;
label.backgroundColor=[UIColor clearColor];
[label sizeToFit];
return label;
}
-(UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
if (section==0) {
return [self newLabelWithTitle:@".:Müzik Player:."];
}
return nil;
}
-(CGFloat) tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
if (section==0) {
return 50.0f;
}
return 0.0f;
}
-(UIView *) tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{
if (section==0) {
return [self newLabelWithTitle:@"Meyve listesi..."];
}
return nil;
}
-(CGFloat) tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
if (section==0) {
return 50.0f;
}
return 0.0f;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
![]() |
Notes.io is a web-based application for taking notes. You can take your notes and share with others people. If you like taking long notes, notes.io is designed for you. To date, over 8,000,000,000 notes created and continuing...
With notes.io;
- * You can take a note from anywhere and any device with internet connection.
- * You can share the notes in social platforms (YouTube, Facebook, Twitter, instagram etc.).
- * You can quickly share your contents without website, blog and e-mail.
- * You don't need to create any Account to share a note. As you wish you can use quick, easy and best shortened notes with sms, websites, e-mail, or messaging services (WhatsApp, iMessage, Telegram, Signal).
- * Notes.io has fabulous infrastructure design for a short link and allows you to share the note as an easy and understandable link.
Fast: Notes.io is built for speed and performance. You can take a notes quickly and browse your archive.
Easy: Notes.io doesn’t require installation. Just write and share note!
Short: Notes.io’s url just 8 character. You’ll get shorten link of your note when you want to share. (Ex: notes.io/q )
Free: Notes.io works for 12 years and has been free since the day it was started.
You immediately create your first note and start sharing with the ones you wish. If you want to contact us, you can use the following communication channels;
Email: [email protected]
Twitter: http://twitter.com/notesio
Instagram: http://instagram.com/notes.io
Facebook: http://facebook.com/notesio
Regards;
Notes.io Team